diff --git a/README.md b/README.md index 292b063d..d05a3b23 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A Bukkit server implementation utilizing Mixin. | Minecraft | Forge | Status | Build | | :----: | :----: | :---: | :---: | -| 1.17.x | 37.0.44 | ACTIVE | [![1.17 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-17?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-17) | +| 1.17.x | 37.0.103 | ACTIVE | [![1.17 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-17?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-17) | | 1.16.x | 36.2.0 | ACTIVE | [![1.16 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-16?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-16) | | 1.15.x | 31.2.48 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.15/1.0.19) | [![1.15 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-15?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-15) | | 1.14.x | 28.2.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.0.6) | [![1.14 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight) | diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/fluid/LavaFluidMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/fluid/LavaFluidMixin.java index 37fc7906..239eb54f 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/fluid/LavaFluidMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/fluid/LavaFluidMixin.java @@ -3,6 +3,7 @@ package io.izzel.arclight.common.mixin.core.fluid; import io.izzel.arclight.common.bridge.core.world.IWorldBridge; import io.izzel.arclight.mixin.Eject; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; @@ -26,7 +27,7 @@ public abstract class LavaFluidMixin { // @formatter:off @Shadow protected abstract boolean hasFlammableNeighbours(LevelReader worldIn, BlockPos pos); - @Shadow protected abstract boolean isFlammable(LevelReader worldIn, BlockPos pos); + @Shadow protected abstract boolean isFlammable(LevelReader level, BlockPos pos, Direction face); // @formatter:on /** @@ -68,7 +69,7 @@ public abstract class LavaFluidMixin { return; } - if (world.isEmptyBlock(blockpos1.above()) && this.isFlammable(world, blockpos1)) { + if (world.isEmptyBlock(blockpos1.above()) && this.isFlammable(world, blockpos1, Direction.UP)) { BlockPos up = blockpos1.above(); if (world.getBlockState(up).getBlock() != Blocks.FIRE) { if (CraftEventFactory.callBlockIgniteEvent(world, up, pos).isCancelled()) { diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/level/ServerLevelMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/level/ServerLevelMixin.java index a8594c47..73a3d4b8 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/level/ServerLevelMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/level/ServerLevelMixin.java @@ -260,7 +260,7 @@ public abstract class ServerLevelMixin extends LevelMixin implements ServerWorld private transient CreatureSpawnEvent.SpawnReason arclight$reason; - @Inject(method = "addEntity", cancellable = true, at = @At(value = "INVOKE", remap = false, target = "Lnet/minecraftforge/eventbus/api/IEventBus;post(Lnet/minecraftforge/eventbus/api/Event;)Z")) + @Inject(method = "addEntity", cancellable = true, at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/entity/PersistentEntitySectionManager;addNewEntity(Lnet/minecraft/world/level/entity/EntityAccess;)Z")) private void arclight$addEntityEvent(Entity entityIn, CallbackInfoReturnable cir) { CreatureSpawnEvent.SpawnReason reason = arclight$reason == null ? CreatureSpawnEvent.SpawnReason.DEFAULT : arclight$reason; arclight$reason = null; diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java index 0bcb7117..22a37d4e 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java @@ -347,7 +347,7 @@ public abstract class LivingEntityMixin extends EntityMixin implements LivingEnt return false; } - MinecraftForge.EVENT_BUS.post(new PotionEvent.PotionAddedEvent((LivingEntity) (Object) this, effectinstance, effectInstanceIn)); + MinecraftForge.EVENT_BUS.post(new PotionEvent.PotionAddedEvent((LivingEntity) (Object) this, effectinstance, effectInstanceIn, entity)); if (effectinstance == null) { this.activeEffects.put(effectInstanceIn.getEffect(), effectInstanceIn); this.onEffectAdded(effectInstanceIn, entity); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/PrimedTntMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/PrimedTntMixin.java index 08ad89d5..721ec670 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/PrimedTntMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/item/PrimedTntMixin.java @@ -31,13 +31,13 @@ public abstract class PrimedTntMixin extends EntityMixin { @Inject(method = "(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V", at = @At("RETURN")) private void arclight$init(EntityType type, Level worldIn, CallbackInfo ci) { - yield = 4; + this.yield = 4; isIncendiary = false; } @Inject(method = "(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/entity/LivingEntity;)V", at = @At("RETURN")) private void arclight$init(Level worldIn, double x, double y, double z, LivingEntity igniter, CallbackInfo ci) { - yield = 4; + this.yield = 4; isIncendiary = false; } diff --git a/build.gradle b/build.gradle index 7c4c2eb4..cc7b7138 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ allprojects { ext { agpVersion = '1.20' minecraftVersion = '1.17.1' - forgeVersion = '37.0.44' + forgeVersion = '37.0.103' apiVersion = '1.1.+' toolsVersion = '1.3.+' mixinVersion = '0.8.4' diff --git a/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java b/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java index 51ded740..44105b8c 100644 --- a/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java +++ b/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java @@ -85,7 +85,7 @@ public class ForgeInstaller { new URL[]{new File(String.format("forge-%s-%s-installer.jar", installInfo.installer.minecraft, installInfo.installer.forge)).toURI().toURL()}, ForgeInstaller.class.getClassLoader().getParent()); Method method = loader.loadClass("net.minecraftforge.installer.SimpleInstaller").getMethod("main", String[].class); - method.invoke(null, (Object) new String[]{"--installServer", "."}); + method.invoke(null, (Object) new String[]{"--installServer", ".", "--debug"}); } } handleFutures(array);