Jump to content

If Statement Getting Ignored


tuunaa

Recommended Posts

(Note: I somehow managed to put this in the forge gradle subforum and of course now I can't find a single way to delete it, if someone could help me out that'd be neat cause that's embarrassing and I'd like it to not exist)

 

https://pastebin.com/cbq10K42

Here's my class.

 

The issue I'm having is that the if statement 

if (neighborPos != oppPos || neighborPos != facingPos)

in the posCompare method seems to be getting ignored.  Here's an example of what the output would be for the System.out.printlns you see in the posCompare method if I was facing north:

Spoiler

[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=206}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=197, y=66, z=205}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=199, y=66, z=205}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=205}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=203}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=197, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=203}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=203}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=203}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=199, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=203}

As you can see, if the if statement in posCompare was followed correctly, the blocks at neighbor positions

Spoiler

[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=203}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=203}

and

Spoiler

[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=204}

shouldn't be broken, but when I right click a crop in game it still does.

 

I also have another issue, being the beetroots won't break properly with this code.  This is because when I right click them, even though I'm using

((BlockCrops)block).getMaxAge())

it still wants to check for a max age of 7.  I've tried checking for whether it's trying to destroy beetroots specifically and using 3 instead of getting the max age but it still wants to check for 7.  Here's the error log:

Spoiler

[13:07:12] [Server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7]} as it does not exist in BlockStateContainer{block=minecraft:beetroots, properties=[age]}
    at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_171]
    at net.minecraft.util.Util.runTask(Util.java:54) [Util.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:795) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:740) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:589) [MinecraftServer.class:?]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
Caused by: java.lang.IllegalArgumentException: Cannot get property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7]} as it does not exist in BlockStateContainer{block=minecraft:beetroots, properties=[age]}
    at net.minecraft.block.state.BlockStateContainer$StateImplementation.getValue(BlockStateContainer.java:204) ~[BlockStateContainer$StateImplementation.class:?]
    at tuunaa.stardew.items.ItemScythe.posCompare(ItemScythe.java:52) ~[ItemScythe.class:?]
    at tuunaa.stardew.items.ItemScythe.onItemUse(ItemScythe.java:72) ~[ItemScythe.class:?]
    at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:836) ~[ForgeHooks.class:?]
    at net.minecraft.item.ItemStack.onItemUse(ItemStack.java:200) ~[ItemStack.class:?]
    at net.minecraft.server.management.PlayerInteractionManager.processRightClickBlock(PlayerInteractionManager.java:504) ~[PlayerInteractionManager.class:?]
    at net.minecraft.network.NetHandlerPlayServer.processTryUseItemOnBlock(NetHandlerPlayServer.java:757) ~[NetHandlerPlayServer.class:?]
    at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:68) ~[CPacketPlayerTryUseItemOnBlock.class:?]
    at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.processPacket(CPacketPlayerTryUseItemOnBlock.java:13) ~[CPacketPlayerTryUseItemOnBlock.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:21) ~[PacketThreadUtil$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_171]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_171]
    at net.minecraft.util.Util.runTask(Util.java:53) ~[Util.class:?]
    ... 5 more

Link to comment
Share on other sites

Sorry.

 

Let's go from the start to try and get as much ground covered as we can.  What I want to have happen here is when I right click it will destroy the blocks in a 2x3 rectangle as you can see from the work of art I attached here (with the red square being the block right clicked and the white squares being the blocks checked and destroyed).5aef9af6a25c2_destroypattern.png.2892497eef44656e4f4aa7520779424b.png

  The method I'm using to check for and destroy fully grown crops (posCompare) checks all crops horizontally connected to the right clicked block, like so (again, with the red square being the block right clicked and the white squares being the blocks checked and destroyed). 5aef9ce51980c_blockcheck.png.b196a54e06d2c88af02d1713c8edc663.png

So what I'm trying to do is to make it not check/destroy the blocks north and south of the right clicked block (relative to the diagram, not actual north and south in MineCraft).  To do this, I'm using the if statement

if (neighborPos != oppPos || neighborPos != facingPos)

before running the check/destroy code.  Then, when I'm actually calling posCompare, I call it twice: once to check/destroy the row closest to the player and another time to check/compare the further one.

 

The thing is, when I right click with the item it still checks/destroys all the blocks in the + shape, looking like this.  problem.png.e4c11a336d7a7c1ed20e89bb2af49dac.pngWhen I put in the System.out.printlns you can see just before the if statement, it clearly printed out the matching block positions that shouldn't have gone through, but did anyways, so I know it isn't just that the block positions aren't matching up.

Spoiler

[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=203}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=203}

Spoiler

[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=198, y=66, z=204}
[12:35:13] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=198, y=66, z=204}

Tell me if you need any more context, I'll be glad to give it.

Link to comment
Share on other sites

It's hard to tell with so little to see, but it looks like you want && instead of || . OR means it will be TRUE if either of the conditions is met, and a position can't be north and south at the same time.

Edited by Asanmi
Link to comment
Share on other sites

3 minutes ago, Asanmi said:

It's hard to tell with so little to see, but it looks like you want && instead of || . OR means it will be TRUE if either of the conditions is met, and a position can't be north and south at the same time.

I do want it to return true if either are met though, not if both are met since I'm trying to remove two different blocks at two different coordinates, so I want to check if the block is at one position OR another, not one position AND another.

 

I could have the logic totally wrong though so I'll go ahead and give this a try real quick.

Link to comment
Share on other sites

Could you put a system.out.print inside the if that just says true and then post the log.

or better under the existing ones with

System.out.println( neighborPos != oppPos || neighborPos != facingPos);

Edited by MDW01
Link to comment
Share on other sites

5 minutes ago, MDW01 said:

Could you put a system.out.print inside the if that just says true and then post the log.

or better under the existing ones with

System.out.println( neighborPos != oppPos || neighborPos != facingPos);

I added System.out.printlns for both neighborPos != oppPos and neighborPos != facingPos after all the other prints like so,

System.out.println(neighborPos != oppPos);
System.out.println(neighborPos != facingPos);

 and it returned true for every one. 

Spoiler

[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=199}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=194, y=66, z=200}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=199}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=199}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=199}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=196, y=66, z=200}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=199}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=202}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=202}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=200}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=194, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=202}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=200}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=200}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=202}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=200}
true
true
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=196, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=202}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=200}
true
true

I also added a System.out.println for the second parameter I'm comparing neighborPos against (facingPos) and again, you can see where it shouldn't have gone through.

Spoiler

[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=199}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=201}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=199}
true
true

Spoiler

[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction south
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=200}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=202}
[18:22:33] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=200}
true
true

 

Link to comment
Share on other sites

I didn't even notice the code in the OP! I just started so my Forge knowledge is baby-ish, but the logic definitely seems wrong? You're doing each check separately, and if either of those checks returns TRUE then the entire thing will run.

 

If you want to only destroy the blocks to relative east-west, then you need &&.

if (neighborPos != oppPos || neighborPos != facingPos)

if( (neighbourPos IS NOT south) OR (neighbourPos IS NOT north) ) = always true

if (neighborPos != oppPos && neighborPos != facingPos)

if( (neighbourPos IS NOT south) AND (neighbourPos IS NOT north) ) = true only if neighbourPos is relative-east or relative-west

 

Edited by Asanmi
Link to comment
Share on other sites

Sorry about that you are completely right. I guess I miss understood what each of the variables was when I looked through the code. I should really go get some sleep.

To show what is happening:

if (neighborPos != false || neighborPos != true) = true
if (neighborPos != true || neighborPos != false) = true

 

What it should be:

if (neighborPos != false && neighborPos != true) = false
if (neighborPos != true && neighborPos != false) = false
Link to comment
Share on other sites

2 minutes ago, Asanmi said:

I didn't even notice the code in the OP! I just started so my Forge knowledge is baby-ish, but the logic definitely seems wrong? You're doing each check separately, and one of those two checks will return false while the other true.

 

If you want to ensure the block is relative-eastwest then it needs &&.


if (neighborPos != oppPos || neighborPos != facingPos)

if( (neighbourPos IS NOT south) OR (neighbourPos IS NOT north) ) = always true

Oh!  I see what you're saying now.  I can't believe I didn't catch that myself!  That definitely fixed an issue I would have run into down the road, but there's something else going on here too, because I added both of these prints before the if statement

System.out.println(neighborPos != oppPos);
System.out.println(neighborPos != facingPos);

and both of them return true every time.

Spoiler

[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=192, y=66, z=202}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=193, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=191, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=191, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=193, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=191, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=192, y=66, z=200}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=193, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=191, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=193, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=193, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=191, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=193, y=66, z=202}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=194, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=192, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=192, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=194, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=192, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=193, y=66, z=200}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=194, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=192, y=66, z=201}
true
true
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction east
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=194, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=194, y=66, z=201}
[18:48:47] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=192, y=66, z=201}
true
true

 

Link to comment
Share on other sites

Yeah, both of those return true, but you did them separately. Write that entire if() statement into a println and you'll see it also always returns True.

 

Separately, you probably want to change 

if (neighborBlock == Blocks.WHEAT || neighborBlock == Blocks.CARROTS || neighborBlock == Blocks.BEETROOTS || neighborBlock == Blocks.POTATOES || neighborBlock == Blocks.NETHER_WART)

to

if(neighbourBlock instanceof BlockCrops)

which will work for modded crops that use the base Crop for their own.

Link to comment
Share on other sites

9 minutes ago, Asanmi said:

Yeah, both of those return true, but you did them separately. Write that entire if() statement into a println and you'll see it also always returns True.

 

Separately, you probably want to change 


if (neighborBlock == Blocks.WHEAT || neighborBlock == Blocks.CARROTS || neighborBlock == Blocks.BEETROOTS || neighborBlock == Blocks.POTATOES || neighborBlock == Blocks.NETHER_WART)

to


if(neighbourBlock instanceof BlockCrops)

which will work for modded crops that use the base Crop for their own.

I added these prints 

System.out.println("AND " + (neighborPos != oppPos && neighborPos != facingPos));
System.out.println("OR " + (neighborPos != oppPos || neighborPos != facingPos));

and it's still returning true every time.

Spoiler

[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=207}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=207}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=194, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=207}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=207}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=196, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=207}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=204}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=194, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=204}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=195, y=66, z=204}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=204}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:46]: opposite direction north
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:47]: neighborPos BlockPos{x=196, y=66, z=205}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:48]: oppPos BlockPos{x=195, y=66, z=204}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:49]: facingPos BlockPos{x=195, y=66, z=206}
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:50]: AND true
[19:10:03] [Server thread/INFO] [STDOUT]: [tuunaa.stardew.items.ItemScythe:posCompare:51]: OR true

Oh, and thanks for the tip!  I was trying to find a better way to check for crops earlier but I couldn't find anything, so that's super helpful.

Edited by tuunaa
Link to comment
Share on other sites

7 minutes ago, diesieben07 said:

You need to learn what == / != do! new BlockPos(1, 2, 3) == new BlockPos(1, 2, 3) is false. You need to use equals.

I don't know of I don't fully understand what you're trying to say here or if you don't fully understand what I'm trying to do. 

 

What I'm doing is only running the destroy code for blocks not on the positions of the north and south blocks relative to the right clicked block.  To my knowledge, if I change != to == it would reverse that, instead breaking the blocks north and south and leaving the blocks east and west.

 

This does seem like kind of a dumb mistake to make though, considering the discussion up until this point has shown that that's what I've been trying to do, so I'm going to go ahead and give you the benefit of the doubt and say I'm missing something here.  Could you explain what you mean a little more?

Link to comment
Share on other sites

16 hours ago, diesieben07 said:

I mean you need to use equals. Not == or !=== and != do instance-comparisons. Once again:

new BlockPos(1, 2, 3) == new BlockPos(1, 2, 3) is false. But new BlockPos(1, 2, 3).equals(new BlockPos(1, 2, 3)) is true.

 

This is basic Java knowledge. If you are missing basic Java knowledge, I recommend fixing that before starting to mod.

I'll be honest, I was genuinely considering going on a rant about how you could really work on being more kind to the people on here instead of immediately getting all hostile towards them, as that makes the Forge forums feel like an extremely unwelcoming place, but I decided it might not be the best idea to risk starting a flame war on my first topic.  Nevertheless, you helped fix my main problem.  Some other issues came up upon fixing the if statement, but I'm sure I can work those out on my own.  So thanks!

Link to comment
Share on other sites

2 hours ago, diesieben07 said:

If you don't follow the rules then yes, you will get a response that's a bit more blunt than usual. Deal with it. I could have locked your thread for rule-violation.

Well I am thankful that you didn't lock my thread, truly. And I'm sorry, I didn't know not understanding your subjective definition of "basic Java knowledge" was against the rules. I'll try to avoid that next time.

 

I have a question, though. If someone breaks the rules, why don't you link the rules to them? I don't want to tell you how to run your forum, but this is typical moderator practice and I haven't seen you do it once in the past.

Link to comment
Share on other sites

1 hour ago, tuunaa said:

Just direct them to it.  Problem solved.  

Sure, but it is literally at the top of the forum constantly "pinned" there.

 

Also, a "harsh" statement that you need to learn Java better is really the truth. Basically there comes a point in trying to help someone on the forum where you realize that they are missing something fundamental about Java itself. Since Java is so well covered elsewhere, we do actively shoo people away to go do their homework. I guess that could be perceived as "unwelcoming", but ultimately it is accurate and for your own good. Think of it more like a tough gym coach telling you you're out of shape -- it might sting to hear it but it is still worthy advice.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

1 minute ago, jabelar said:

Also, a "harsh" statement that you need to learn Java better is really the truth. Basically there comes a point in trying to help someone on the forum where you realize that they are missing something fundamental about Java itself. Since Java is so well covered elsewhere, we do actively shoo people away to go do their homework. I guess that could be perceived as "unwelcoming", but ultimately it is accurate and for your own good. Think of it more like a tough gym coach telling you you're out of shape -- it might sting to hear it but it is still worthy advice.

I never said it wasn't for my own good. I've been working with Java at a basic level for a few years now, but I guess there are some key things I'm still missing, and I'll work on that before coming back here, don't worry. I'm just saying there are nicer ways of saying that. Again, I don't want to tell you how to do things, I understand you do things for your own reasons, and I understand that the reason you're probably harsh is because you're always dealing with kids on here that have no idea what they're doing and that can get frustrating. You probably want some actually interesting problems to solve, but with how the Minecraft community is filled with young people who don't understand how intense modding actually is, that's virtually impossible. I totally get that, but all I ask is that you at least consider my point of view, though it can seem unrealistic. You don't have to go with it, I'm not going to argue with you until you do. 

 

Your analogy makes a lot of sense, but in my experience, it's the really kind and considerate gym teachers -- or just teachers in general, I guess -- who help create inspiration and success in their students. I know you're just a moderator on a forum, and you didn't have to sign a paper saying, "I agree to help inspire as many clueless, annoying children as I can," but it can be really disheartening for a kid to ask for help and get a short "you clearly need to learn more Java before doing this" kind of reply. If these kids were maybe given a little push in the right direction, like to some beginning Java sights, maybe they could go on to make some really great stuff, or even get a well-paying job that they really enjoy in programming.

 

Again, I'm not expecting you to follow this at all. If anything, I'm really just expecting a "yeah, right" reply. But I think the possibility for inspiration and creativity here is astounding, and I think with just a little bit of nurturing it could be increased tenfold. So all I ask is, when someone comes in here with basic Java mistakes, at least provide them with a resource or two for learning better Java. And, one more time, I don't want to tell you hot to do this. So ultimately, do what's best for you, I just want you to consider this.

Link to comment
Share on other sites

1 hour ago, tuunaa said:

but it can be really disheartening for a kid to ask for help and get a short "you clearly need to learn more Java before doing this" kind of reply. If these kids were maybe given a little push in the right direction,

That's a quote in his signature from years ago. He put it in his sig because he thought it was funny. 

As for a nudge in the right direction, it's called "Google."

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

1 hour ago, tuunaa said:

So I only just realised you weren't diesieben07. Oops. But you guys get the point right?

 

Yes, but one other thing you need to understand is that programming is a very exacting thing that depends on detail, organized thought and accurate semantics and so it attracts a certain type of personality that is very factual and efficient and therefore may come across to "normal" people as being blunt. With diesieben07 you know you're getting accurate information and that is worth a lot, and if he says go learn Java then it is the right suggestion.

 

Another thing to consider is having empathy the other way. Imagine being an expert musician and having to teach beginner violin. It is actually "painful" for a good musician to hear something out of tune, and so when someone is writing code that is "out of tune" it is very hard for an expert programmer to not get impatient. Then imagine that every day another half-dozen beginner violin players show up on your doorstep playing out of tune and asking for help. For your own sanity you basically have to get efficient at shooing some away and picking the ones that you think you can actually help.

 

Basically I'm saying there is a reason why the personality of kindergarten teacher tends to be very different than a doctoral math professor.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

13 minutes ago, Draco18s said:

That's a quote in his signature from years ago. He put it in his sig because he thought it was funny. 

I wasn't referring to his signature, I was referring to the fact that the majority of the Minecraft community is populated by children.

14 minutes ago, Draco18s said:

As for a nudge in the right direction, it's called "Google."

Even telling someone to "just Google it" would help.

12 minutes ago, jabelar said:

Yes, but one other thing you need to understand is that programming is a very exacting thing that depends on detail, organized thought and accurate semantics and so it attracts a certain type of personality that is very factual and efficient and therefore may come across to "normal" people as being blunt. With diesieben07 you know you're getting accurate information and that is worth a lot, and if he says go learn Java then it is the right suggestion.

I never said he was wrong in telling me that I need to work on my Java. I actually said it was correct. I can also tell he's very smart and knows what he's doing. If he has that kind of personality, that's fine. I told him to do what's best for him.

 

15 minutes ago, jabelar said:

Another thing to consider is having empathy the other way. Imagine being an expert musician and having to teach beginner violin. It is actually "painful" for a good musician to hear something out of tune, and so when someone is writing code that is "out of tune" it is very hard for an expert programmer to not get impatient. Then imagine that every day another half-dozen beginner violin players show up on your doorstep playing out of tune and asking for help. For your own sanity you basically have to get efficient at shooing some away and picking the ones that you think you can actually help.

I don't really think the music teacher analogy is the best here, but I do understand what you're saying. The thing is, most teachers will still "shoo away" people in a polite manner. Again, I understand if this is just his personality, there's no problem if this is how he is normally. 

 

And after arguing my side once more, I'm going to completely devalue my opinion and say this is gonna be my last post on here. It's started to get more traction than I would have liked, and though everything's been fine so far, I can see this getting out of hand quickly, and it's giving me genuine anxiety. I'd like to thank you all for arguing diesieben07's side in a professional way without going over the top, and you've basically managed to convince me that I was in the wrong from the start.

 

I hope you all have a good day.

Link to comment
Share on other sites

1 hour ago, tuunaa said:

Even telling someone to "just Google it" would help.

I beg to differ

http://lmgtfy.com/?q=Learn+java

  • Haha 1

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • it crashed again     What the console says : [00:02:03] [Server thread/INFO] [Easy NPC/]: [EntityManager] Server started! [00:02:03] [Server thread/INFO] [co.gi.al.ic.IceAndFire/]: {iceandfire:fire_dragon_roost=true, iceandfire:fire_lily=true, iceandfire:spawn_dragon_skeleton_fire=true, iceandfire:lightning_dragon_roost=true, iceandfire:spawn_dragon_skeleton_lightning=true, iceandfire:ice_dragon_roost=true, iceandfire:ice_dragon_cave=true, iceandfire:lightning_dragon_cave=true, iceandfire:cyclops_cave=true, iceandfire:spawn_wandering_cyclops=true, iceandfire:spawn_sea_serpent=true, iceandfire:frost_lily=true, iceandfire:hydra_cave=true, iceandfire:lightning_lily=true, iceandfireixie_village=true, iceandfire:myrmex_hive_jungle=true, iceandfire:myrmex_hive_desert=true, iceandfire:silver_ore=true, iceandfire:siren_island=true, iceandfire:spawn_dragon_skeleton_ice=true, iceandfire:spawn_stymphalian_bird=true, iceandfire:fire_dragon_cave=true, iceandfire:sapphire_ore=true, iceandfire:spawn_hippocampus=true, iceandfire:spawn_death_worm=true} [00:02:03] [Server thread/INFO] [co.gi.al.ic.IceAndFire/]: {TROLL_S=true, HIPPOGRYPH=true, AMPHITHERE=true, COCKATRICE=true, TROLL_M=true, DREAD_LICH=true, TROLL_F=true} [00:02:03] [Server thread/INFO] [ne.be.lo.WeaponRegistry/]: Encoded Weapon Attribute registry size (with package overhead): 41976 bytes (in 5 string chunks with the size of 10000) [00:02:03] [Server thread/INFO] [patchouli/]: Sending reload packet to clients [00:02:03] [Server thread/WARN] [voicechat/]: [voicechat] Running in offline mode - Voice chat encryption is not secure! [00:02:03] [VoiceChatServerThread/INFO] [voicechat/]: [voicechat] Using server-ip as bind address: 0.0.0.0 [00:02:03] [Server thread/WARN] [ModernFix/]: Dedicated server took 22.521 seconds to load [00:02:03] [VoiceChatServerThread/INFO] [voicechat/]: [voicechat] Voice chat server started at 0.0.0.0:25565 [00:02:03] [Server thread/WARN] [minecraft/SynchedEntityData]: defineId called for: class net.minecraft.world.entity.player.Player from class tschipp.carryon.common.carry.CarryOnDataManager [00:02:03] [Server thread/INFO] [ne.mi.co.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@2941ffd5 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 0 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 1 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 2 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 3 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 4 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 5 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 6 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 7 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 8 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 9 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 10 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 11 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 12 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 13 [00:02:10] [Netty Epoll Server IO #2/INFO] [Calio/]: Received acknowledgment for login packet with id 14 [00:02:19] [Server thread/INFO] [ne.mi.co.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@ebc7ef2 [00:02:19] [Server thread/INFO] [minecraft/PlayerList]: ZacAdos[/90.2.17.162:49242] logged in with entity id 1062 at (-1848.6727005281205, 221.0, -3054.2468255848935) [00:02:19] [Server thread/ERROR] [ModernFix/]: Skipping entity ID sync for com.talhanation.smallships.world.entity.ship.Ship: java.lang.NoClassDefFoundError: net/minecraft/client/CameraType [00:02:19] [Server thread/INFO] [minecraft/MinecraftServer]: - Gloop - ZacAdos joined the game [00:02:19] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Updating all forceload tickets for cc56befd-d376-3526-a760-340713c478bd [00:02:19] [Server thread/INFO] [se.mi.te.da.DataManager/]: Sending data to client: ZacAdos [00:02:19] [Server thread/INFO] [voicechat/]: [voicechat] Received secret request of - Gloop - ZacAdos (17) [00:02:19] [Server thread/INFO] [voicechat/]: [voicechat] Sent secret to - Gloop - ZacAdos [00:02:21] [VoiceChatPacketProcessingThread/INFO] [voicechat/]: [voicechat] Successfully authenticated player cc56befd-d376-3526-a760-340713c478bd [00:02:22] [VoiceChatPacketProcessingThread/INFO] [voicechat/]: [voicechat] Successfully validated connection of player cc56befd-d376-3526-a760-340713c478bd [00:02:22] [VoiceChatPacketProcessingThread/INFO] [voicechat/]: [voicechat] Player - Gloop - ZacAdos (cc56befd-d376-3526-a760-340713c478bd) successfully connected to voice chat stop [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping the server [00:02:34] [Server thread/INFO] [mo.pl.ar.ArmourersWorkshop/]: stop local service [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players [00:02:34] [Server thread/INFO] [minecraft/ServerGamePacketListenerImpl]: ZacAdos lost connection: Server closed [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: - Gloop - ZacAdos left the game [00:02:34] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Updating all forceload tickets for cc56befd-d376-3526-a760-340713c478bd [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving worlds [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage (world): All chunks are saved [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved [00:02:34] [Server thread/INFO] [minecraft/MinecraftServer]: ThreadedAnvilChunkStorage: All dimensions are saved [00:02:34] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Stopping IO worker... [00:02:34] [Server thread/INFO] [xa.pa.OpenPartiesAndClaims/]: Stopped IO worker! [00:02:34] [Server thread/INFO] [Calio/]: Removing Dynamic Registries for: net.minecraft.server.dedicated.DedicatedServer@7dc879e1 [MineStrator Daemon]: Checking server disk space usage, this could take a few seconds... [MineStrator Daemon]: Updating process configuration files... [MineStrator Daemon]: Ensuring file permissions are set correctly, this could take a few seconds... [MineStrator Daemon]: Pulling Docker container image, this could take a few minutes to complete... [MineStrator Daemon]: Finished pulling Docker container image container@pterodactyl~ java -version openjdk version "17.0.10" 2024-01-16 OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7) OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode, sharing) container@pterodactyl~ java -Xms128M -Xmx6302M -Dterminal.jline=false -Dterminal.ansi=true -Djline.terminal=jline.UnsupportedTerminal -p libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar --add-modules ALL-MODULE-PATH --add-opens java.base/java.util.jar=cpw.mods.securejarhandler --add-opens java.base/java.lang.invoke=cpw.mods.securejarhandler --add-exports java.base/sun.security.util=cpw.mods.securejarhandler --add-exports jdk.naming.dns/com.sun.jndi.dns=java.naming -Djava.net.preferIPv6Addresses=system -DignoreList=bootstraplauncher-1.1.2.jar,securejarhandler-2.1.4.jar,asm-commons-9.5.jar,asm-util-9.5.jar,asm-analysis-9.5.jar,asm-tree-9.5.jar,asm-9.5.jar,JarJarFileSystems-0.3.16.jar -DlibraryDirectory=libraries -DlegacyClassPath=libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:libraries/org/ow2/asm/asm/9.5/asm-9.5.jar:libraries/org/ow2/asm/asm-commons/9.5/asm-commons-9.5.jar:libraries/org/ow2/asm/asm-tree/9.5/asm-tree-9.5.jar:libraries/org/ow2/asm/asm-util/9.5/asm-util-9.5.jar:libraries/org/ow2/asm/asm-analysis/9.5/asm-analysis-9.5.jar:libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar:libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar:libraries/net/minecraftforge/eventbus/6.0.3/eventbus-6.0.3.jar:libraries/net/minecraftforge/forgespi/6.0.0/forgespi-6.0.0.jar:libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar:libraries/cpw/mods/modlauncher/10.0.8/modlauncher-10.0.8.jar:libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar:libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar:libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar:libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar:libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar:libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar:libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar:libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar:libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar:libraries/org/openjdk/nashorn/nashorn-core/15.3/nashorn-core-15.3.jar:libraries/net/minecraftforge/JarJarSelector/0.3.16/JarJarSelector-0.3.16.jar:libraries/net/minecraftforge/JarJarMetadata/0.3.16/JarJarMetadata-0.3.16.jar:libraries/net/minecraftforge/fmlloader/1.19.2-43.3.0/fmlloader-1.19.2-43.3.0.jar:libraries/net/minecraft/server/1.19.2-20220805.130853/server-1.19.2-20220805.130853-extra.jar:libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar:libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:libraries/com/mojang/authlib/3.11.49/authlib-3.11.49.jar:libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar:libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar:libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar:libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar:libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar:libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar:libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar:libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar:libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar:libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar:libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar:libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-x86_64.jar:libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-aarch_64.jar:libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar:libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar:libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar:libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar:libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:libraries/org/apache/logging/log4j/log4j-api/2.17.0/log4j-api-2.17.0.jar:libraries/org/apache/logging/log4j/log4j-core/2.17.0/log4j-core-2.17.0.jar:libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar:libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar cpw.mods.bootstraplauncher.BootstrapLauncher --launchTarget forgeserver --fml.forgeVersion 43.3.0 --fml.mcVersion 1.19.2 --fml.forgeGroup net.minecraftforge --fml.mcpVersion 20220805.130853 [00:02:42] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.3.0, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [00:02:42] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.10 by Eclipse Adoptium; OS Linux arch amd64 version 6.1.0-12-amd64 [00:02:43] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/container/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/fmlcore/1.19.2-43.3.0/fmlcore-1.19.2-43.3.0.jar is missing mods.toml file [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/javafmllanguage/1.19.2-43.3.0/javafmllanguage-1.19.2-43.3.0.jar is missing mods.toml file [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/lowcodelanguage/1.19.2-43.3.0/lowcodelanguage-1.19.2-43.3.0.jar is missing mods.toml file [00:02:43] [main/WARN] [ne.mi.fm.lo.mo.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/mclanguage/1.19.2-43.3.0/mclanguage-1.19.2-43.3.0.jar is missing mods.toml file [00:02:44] [main/WARN] [ne.mi.ja.se.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [00:02:44] [main/WARN] [ne.mi.ja.se.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: resourcefullib. Using Mod File: /home/container/mods/resourcefullib-forge-1.19.2-1.1.24.jar [00:02:44] [main/INFO] [ne.mi.fm.lo.mo.JarInJarDependencyLocator/]: Found 13 dependencies adding them to mods collection Latest log [29Mar2024 00:02:42.803] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 43.3.0, --fml.mcVersion, 1.19.2, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20220805.130853] [29Mar2024 00:02:42.805] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.8+10.0.8+main.0ef7e830 starting: java version 17.0.10 by Eclipse Adoptium; OS Linux arch amd64 version 6.1.0-12-amd64 [29Mar2024 00:02:43.548] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/home/container/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%2363!/ Service=ModLauncher Env=SERVER [29Mar2024 00:02:43.876] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/fmlcore/1.19.2-43.3.0/fmlcore-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:43.877] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/javafmllanguage/1.19.2-43.3.0/javafmllanguage-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:43.877] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/lowcodelanguage/1.19.2-43.3.0/lowcodelanguage-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:43.878] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file /home/container/libraries/net/minecraftforge/mclanguage/1.19.2-43.3.0/mclanguage-1.19.2-43.3.0.jar is missing mods.toml file [29Mar2024 00:02:44.033] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File: and Mod File: . Using Mod File: [29Mar2024 00:02:44.034] [main/WARN] [net.minecraftforge.jarjar.selection.JarSelector/]: Attempted to select a dependency jar for JarJar which was passed in as source: resourcefullib. Using Mod File: /home/container/mods/resourcefullib-forge-1.19.2-1.1.24.jar [29Mar2024 00:02:44.034] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 13 dependencies adding them to mods collection
    • I am unable to do that. Brigadier is a mojang library that parses commands.
    • Hi, i appreciate the answer. I would love to do that, but we have active players with all their belongings in SSN. Also this mod is really handy and they would be mad if we removed it. Are you really certain that SSN is causing this? It would require lots of work to test it and SSN was not really an issue before we removed Fast Suite. Can it be related somehow? I will provide you with log before removing FS. PasteBin: https://pastebin.com/Y5EpLpNe (crash before removing Fast Suite, which I suspected to be a problem from some crash before)
    • Backup the world and make a test without storagenetwork
  • Topics

×
×
  • Create New...

Important Information

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