Jump to content

eogen

Members
  • Posts

    8
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

eogen's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I think its more likely that whatever method that is being selected to change the color of the text is making assumptions about the terminal type or control character sequence being used, and that it may work for the tty type that it is being developed in, but not others. Searching online, here is a relevant description of the issue: https://unix.stackexchange.com/questions/196098/copy-paste-in-xfce4-terminal-adds-0-and-1 My suspicion is that the forge console is initiating some color sequence, and not terminating that sequence, leaving the tty in "Bracketed Paste Mode".
  2. I have recently updated to forge-1.12.2-14.23.4.2759. At the risk of asking my second stupid question in the last week, it seems that in between 2705 and 2759, the output in the console log got colorized. Whatever tty funkiness that forge is doing to add colors to the log, are causing tty funkiness in PUTTY. Once, in any given putty session, I have started a minecraft/forge session, any time I attempt to 'paste' into that terminal, the pasted text is preceded by a 0~ and appended by a 1~. For example, If I attempt to paste "bob", what is pasted is "0~bob1~". This does not happen on a new PUTTY session, nor before starting minecraft/forge interactively. Any idea what may be the cause? Am I missing something? Thanks in advance.
  3. Sorry, knew it was something stupid. Assumed that I could swap in the newer universal file after having previously built the server. Thanks!
  4. A recent update of one of the mods that I am using requires forge-1.12.2-14.23.4.2752 or greater. On my CentOS linux server, when I attempt to run with the universal forge file forge-1.12.2-14.23.4.2752-universal.jar or newer, I get the following error. (Things do not proceed to the point where any log files are created) I have updated to the newest Java JRE, and removed any other java command line options. I am sure that I am doing something stupid, but I have not found anything online. Pointers appreciated. /home/java/jre1.8.0_181/bin/java -jar forge-1.12.2-14.23.4.2752-universal.jar A problem occurred running the Server launcher.java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.run(ServerLaunchWrapper.java:70) at net.minecraftforge.fml.relauncher.ServerLaunchWrapper.main(ServerLaunchWrapper.java:34) Caused by: java.lang.NoClassDefFoundError: org/jline/terminal/Terminal at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethods(Class.java:1975) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.createBuilder(PluginBuilder.java:147) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:119) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:952) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:892) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:884) at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:508) at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:232) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:244) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:545) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:617) at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:242) at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45) at org.apache.logging.log4j.LogManager.getContext(LogManager.java:174) at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:618) at net.minecraft.launchwrapper.LogWrapper.configureLogging(LogWrapper.java:14) at net.minecraft.launchwrapper.LogWrapper.log(LogWrapper.java:28) at net.minecraft.launchwrapper.Launch.launch(Launch.java:94) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) ... 6 more Caused by: java.lang.ClassNotFoundException: org.jline.terminal.Terminal at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 29 more
  5. Thank you. The perfect internet answer. Short, cryptic, to the point, and exactly what I needed. My compliments, sir. For reference of anyone who finds this later, what I did: Snagged the canPlaceBlockAt function from RedstoneWire, as suggested, and added it to my block class as an override. @Override public boolean canPlaceBlockAt(World p_149742_1_, int p_149742_2_, int p_149742_3_, int p_149742_4_) { return World.doesBlockHaveSolidTopSurface(p_149742_1_, p_149742_2_, p_149742_3_ - 1, p_149742_4_) || p_149742_1_.getBlock(p_149742_2_, p_149742_3_ - 1, p_149742_4_) == Blocks.glowstone; } Which still left me able to place on myself. Looking into what World.doesBlockHaveSolidTopSurface is doing, I determined I had to also override what I was returning from isSideSolid: @Override public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) { if (side != DOWN) { return false; } else { return true; } } This gave me the behavior I was looking for.
  6. Sorry if this is a stupid newb question, I am not a native java person, and I am working on my first mod here, so be gentle if I screw up the terminology... I have created a custom block, and am interested in implementing the following logic: When that block is placed, if the block under it is not opaque, cancel the placement. In the block class, I have placed an override on onBlockPlaced, which seems to fire when I would want it to, but since it does not have an event argument, it does not seem like I could cancel the block placement event from there. @Override public int onBlockPlaced(World world, int x, int y, int z, int side, float xOffSet, float yOffSet, float zOffSet, int meta) { System.out.println("Block Placed at "+x+" "+y+" "+z); return meta; } Is there a different event event I should use, or is there a better approach? Thanks in advance.
  7. Having spent the last 8 hour debugging this, and finding nothing useful on the interweb... I am posting the solution on each thread that I looked at with no answer... Some mods overwrite the vanilla minecraft blockids. Those mods do this when you start your client, even before you connect to the server. The server then checks your IDs, and sees you have a conflict, but its with a mod that the server does not have. The Normal blockid conflict message comes up when the server and the client both have the same mod or same mods and there is more than one mod trying to use a blockid, or the mods on the client are configured to use a different set of blockids than the server. In this case, though, your client has a mod that the server does not have -- and this mod has overwritten a vanilla minecraft blockid. So the error is saying that your client is disagreing with the server about a vanilla minecraft blockid that has been overwritten by a client mod the server does not have. The solution is to remove that 'extra' mod from your client. Coping over the server configs will not help you, because the mod is not on the server -- the servers config files do not apply to the mod that is causing the error.
  8. For those internet folks who found this post, but not the answer... Some mods overwrite the vanilla minecraft blockids. Those mods do this when you start your client, even before you connect to the server. The server then checks your IDs, and sees you have a conflict, but its with a mod that the server does not have. So on your client, you have a mod that the server does not have -- and this mod has overwritten a vanilla minecraft blockid. The solution is to remove that 'extra' mod from your client. Coping over the server configs will not help you, because the mod is not on the server.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.