SpongePowered / Sponge

The SpongeAPI implementation targeting vanilla Minecraft and 3rd party platforms.
MIT License
387 stars 211 forks source link

AbstractMethodError at WorldServer.addScheduledUpdate() #79

Closed Glitchfinder closed 9 years ago

Glitchfinder commented 9 years ago
[14:52:57] [Server thread/ERROR]: Could not pass LeafDecayEvent$Impl to SpongePlugin:Unleafer{1.0}
java.lang.AbstractMethodError: net.minecraft.world.WorldServer.addScheduledUpdate(Lcom/flowpowered/math/vector/Vector3i;II)Lorg/spongepowered/api/block/ScheduledBlockUpdate;
    at org.spongepowered.api.world.Location.addScheduledUpdate(Location.java:628) ~[Location.class:1.8-1446-2.1DEV-508+unknown-b508.git-unknown]
    at com.azthec.Unleafer.checkBlocks(Unleafer.java:85) ~[Unleafer.class:?]
    at com.azthec.Unleafer.onLeafDecay(Unleafer.java:52) ~[Unleafer.class:?]
    at org.spongepowered.common.event.handler.LeafDecayEventHandler_Unleafer_onLeafDecay3.handle(Unknown Source) ~[?:?]
    at org.spongepowered.common.event.RegisteredHandler.handle(RegisteredHandler.java:86) ~[RegisteredHandler.class:1.8-1446-2.1DEV-508+unknown-b508.git-unknown]
    at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:248) [SpongeEventManager.class:1.8-1446-2.1DEV-508+unknown-b508.git-unknown]
    at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:259) [SpongeEventManager.class:1.8-1446-2.1DEV-508+unknown-b508.git-unknown]
    at net.minecraft.block.BlockLeaves.callLeafDecay(BlockLeaves.java:73) [axg.class:?]
    at net.minecraft.block.BlockLeaves.func_180650_b(BlockLeaves.java:198) [axg.class:?]
    at net.minecraft.block.Block.func_180645_a(Block.java:428) [atr.class:?]
    at net.minecraft.world.WorldServer.func_147456_g(WorldServer.java:454) [qt.class:?]
    at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:221) [qt.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:693) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:364) [po.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:598) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_31]

Java Version: 1.8.0_31 Minecraft Version: 1.8.7 Sponge Version: 1.8-1446-2.1DEV-508 Forge Version: 11.14.3.1446

The relevant code can be found here

I tried every variation of the call I could find in the code, and all had the same result. A full log of the issue can be found here.

simon816 commented 9 years ago

I implemented ScheduledBlockUpdate a few days ago in SpongeCommon, https://github.com/SpongePowered/SpongeCommon/commit/319da5a537497fea0b1a64f9f00e45d803e9d606. However those changes have not yet propagated to Sponge because the submodule hasn't updated yet, I'll update it now. The next Sponge build should work fine.

Glitchfinder commented 9 years ago

Ah, thank you. I just tested with a home-build and it works beautifully. If I might ask, how often are official builds released?

ryantheleach commented 9 years ago

It should be every time a commit hits master. After a small delay. Continuous Integration.

Glitchfinder commented 9 years ago

Which master, though? I see several repositories that get combined into the final product.

octylFractal commented 9 years ago

Sponge master.

ryantheleach commented 9 years ago

Sponge master will trigger a new Sponge build, SpongeAPI master will trigger a new API build, SpongeVanilla will trigger a SpongeVanilla build.

It's pretty straight forward.

Glitchfinder commented 9 years ago

The reason I'm asking is because I'm either looking at the wrong build system, or your ci is busted. According to your maven repo, the latest official build still has the problem that https://github.com/SpongePowered/Sponge/commit/b65c94a1305e1d27ebcf531b6f71c476023bfd5d fixed. I verified the fix with a local build, so it certainly isn't the code base at this point.