From e36e6d2910c8cc5c1433d97550b57f6026a626dd Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Mon, 26 Jul 2021 20:20:33 +0800 Subject: [PATCH] 1.17: cleanup --- arclight-common/build.gradle | 9 ++-- .../common/asm/ArclightImplementer.java | 4 +- .../common/mixin/bukkit/CraftChunkMixin.java | 51 ------------------- .../common/mixin/bukkit/CraftEntityMixin.java | 6 +-- .../mixin/bukkit/CraftHumanEntityMixin.java | 2 +- .../common/mixin/bukkit/MaterialMixin.java | 18 +++---- .../entity/monster/piglin/PiglinAiMixin.java | 3 +- .../common/mixin/forge/ForgeHooksMixin.java | 5 +- .../common/mod/ArclightConnector.java | 9 ---- .../arclight/common/mod/ArclightLocator.java | 8 ++- .../arclight/common/mod/ArclightMod.java | 8 +-- .../common/mod/server/ArclightContainer.java | 2 +- .../common/mod/server/ArclightServer.java | 2 +- .../common/mod/server/BukkitRegistry.java | 6 +-- .../event/EntityTeleportEventDispatcher.java | 3 +- .../mod/util/ArclightSpecialRecipe.java | 2 +- .../common/mod/util/DelegateWorldInfo.java | 9 +--- .../common/mod/util/WrappedContents.java | 3 +- .../util/remapper/RemappingClassLoader.java | 4 +- arclight-forge/build.gradle | 8 +-- .../arclight/impl/ArclightLocator_Forge.java | 4 +- build.gradle | 2 +- 22 files changed, 54 insertions(+), 114 deletions(-) delete mode 100644 arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftChunkMixin.java diff --git a/arclight-common/build.gradle b/arclight-common/build.gradle index 5927e64f..a66f07be 100644 --- a/arclight-common/build.gradle +++ b/arclight-common/build.gradle @@ -7,9 +7,8 @@ buildscript { } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forge_gradle_version}" - classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT' - // classpath "io.izzel.arclight:arclight-gradle-plugin:$agpVersion" - classpath files("G:\\workspace\\arclight-gradle-plugin\\build\\libs\\arclight-gradle-plugin-1.18.jar") + classpath 'org.spongepowered:mixingradle:0.7.1-SNAPSHOT' + classpath "io.izzel.arclight:arclight-gradle-plugin:$agpVersion" } } @@ -51,7 +50,7 @@ dependencies { implementation 'org.jetbrains:annotations:19.0.0' implementation 'org.spongepowered:mixin:0.8.3' - annotationProcessor 'org.spongepowered:mixin:0.8.2:processor' + annotationProcessor 'org.spongepowered:mixin:0.8.3:processor' implementation 'com.github.ArclightTeam:mixin-tools:1.0.0' annotationProcessor 'com.github.ArclightTeam:mixin-tools:1.0.0' @@ -68,7 +67,7 @@ dependencies { } remapSpigotJar { - includes.add('net/minecraft/block/ChestBlock$DoubleInventory') + includes.add('net/minecraft/world/level/block/ChestBlock$DoubleInventory') includes.add('net/minecraft/tileentity/LecternTileEntity$LecternInventory') } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/asm/ArclightImplementer.java b/arclight-common/src/main/java/io/izzel/arclight/common/asm/ArclightImplementer.java index e4203009..145cb50e 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/asm/ArclightImplementer.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/asm/ArclightImplementer.java @@ -1,5 +1,6 @@ package io.izzel.arclight.common.asm; +import cpw.mods.modlauncher.api.NamedPath; import cpw.mods.modlauncher.serviceapi.ILaunchPluginService; import io.izzel.arclight.common.mod.util.log.ArclightI18nLogger; import org.apache.logging.log4j.Logger; @@ -12,7 +13,6 @@ import org.objectweb.asm.tree.VarInsnNode; import org.spongepowered.asm.launch.MixinLaunchPlugin; import java.lang.reflect.Modifier; -import java.nio.file.Path; import java.util.ArrayList; import java.util.EnumSet; import java.util.HashMap; @@ -37,7 +37,7 @@ public class ArclightImplementer implements ILaunchPluginService { } @Override - public void initializeLaunch(ITransformerLoader transformerLoader, Path[] specialPaths) { + public void initializeLaunch(ITransformerLoader transformerLoader, NamedPath[] specialPaths) { this.transformerLoader = transformerLoader; this.implementers.put("inventory", new InventoryImplementer()); this.implementers.put("switch", SwitchTableFixer.INSTANCE); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftChunkMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftChunkMixin.java deleted file mode 100644 index ebda1978..00000000 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftChunkMixin.java +++ /dev/null @@ -1,51 +0,0 @@ -package io.izzel.arclight.common.mixin.bukkit; - -import io.izzel.arclight.common.bridge.entity.EntityBridge; -import net.minecraft.world.level.chunk.LevelChunk; -import org.bukkit.World; -import org.bukkit.craftbukkit.v.CraftChunk; -import org.bukkit.entity.Entity; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; -import org.spongepowered.asm.mixin.Shadow; - -@Mixin(value = CraftChunk.class, remap = false) -public abstract class CraftChunkMixin { - - // @formatter:off - @Shadow public abstract boolean isLoaded(); - @Shadow public abstract World getWorld(); - @Shadow @Final private int x; - @Shadow @Final private int z; - @Shadow public abstract LevelChunk getHandle(); - // @formatter:on - - /** - * @author IzzelAliz - * @reason - */ - @Overwrite - public Entity[] getEntities() { - if (!this.isLoaded()) { - this.getWorld().getChunkAt(this.x, this.z); - } - int count = 0; - int index = 0; - net.minecraft.world.level.chunk.LevelChunk chunk = this.getHandle(); - for (int i = 0; i < 16; ++i) { - count += chunk.entitySections[i].size(); - } - Entity[] entities = new Entity[count]; - for (int j = 0; j < 16; ++j) { - Object[] array; - for (int length = (array = chunk.entitySections[j].toArray()).length, k = 0; k < length; ++k) { - Object obj = array[k]; - if (obj instanceof net.minecraft.world.entity.Entity) { - entities[index++] = ((EntityBridge) obj).bridge$getBukkitEntity(); - } - } - } - return entities; - } -} diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftEntityMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftEntityMixin.java index 3d0b083b..16f0ca45 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftEntityMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftEntityMixin.java @@ -12,7 +12,7 @@ import io.izzel.arclight.common.mod.server.entity.ArclightModProjectile; import io.izzel.arclight.common.mod.server.entity.ArclightModRaider; import io.izzel.arclight.common.mod.util.ResourceLocationUtil; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.AgableMob; +import net.minecraft.world.entity.AgeableMob; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.FlyingMob; import net.minecraft.world.entity.LivingEntity; @@ -78,7 +78,7 @@ public abstract class CraftEntityMixin implements org.bukkit.entity.Entity { private static void arclight$modEntity(CraftServer server, Entity entity, CallbackInfoReturnable cir) { if (entity instanceof LivingEntity) { if (entity instanceof Mob) { - if (entity instanceof AgableMob) { + if (entity instanceof AgeableMob) { if (entity instanceof AbstractHorse) { if (entity instanceof AbstractChestedHorse) { cir.setReturnValue(new ArclightModChestedHorse(server, (AbstractChestedHorse) entity)); @@ -91,7 +91,7 @@ public abstract class CraftEntityMixin implements org.bukkit.entity.Entity { cir.setReturnValue(new CraftTameableAnimal(server, (TamableAnimal) entity)); return; } - cir.setReturnValue(new CraftAgeable(server, (AgableMob) entity)); + cir.setReturnValue(new CraftAgeable(server, (AgeableMob) entity)); return; } if (entity instanceof FlyingMob) { diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftHumanEntityMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftHumanEntityMixin.java index 6d5df883..191133d2 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftHumanEntityMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/CraftHumanEntityMixin.java @@ -27,7 +27,7 @@ public abstract class CraftHumanEntityMixin extends CraftEntity { @Override public void setHandle(Entity entity) { super.setHandle(entity); - this.inventory = new CraftInventoryPlayer(((Player) entity).inventory); + this.inventory = new CraftInventoryPlayer(((Player) entity).getInventory()); this.enderChest = new CraftInventory(((Player) entity).getEnderChestInventory()); } } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/MaterialMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/MaterialMixin.java index 441869e6..e0ef15fb 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/MaterialMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/bukkit/MaterialMixin.java @@ -7,6 +7,14 @@ import io.izzel.arclight.common.mod.ArclightMod; import io.izzel.arclight.common.mod.server.block.ArclightTileInventory; import io.izzel.arclight.i18n.LocalizedException; import io.izzel.arclight.i18n.conf.MaterialPropertySpec; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.Container; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FallingBlock; +import net.minecraft.world.level.block.entity.BlockEntity; import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.block.BlockState; @@ -46,14 +54,6 @@ import java.lang.reflect.Constructor; import java.util.Map; import java.util.function.BiFunction; import java.util.function.Function; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.Container; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.FallingBlock; -import net.minecraft.world.level.block.entity.BlockEntity; @Mixin(value = Material.class, remap = false) public abstract class MaterialMixin implements MaterialBridge { @@ -328,7 +328,7 @@ public abstract class MaterialMixin implements MaterialBridge { arclight$spec.burnable = block != null && ((FireBlockBridge) Blocks.FIRE).bridge$canBurn(block); } if (arclight$spec.fuel == null) { - arclight$spec.fuel = item != null && new ItemStack(item).getBurnTime() > 0; + arclight$spec.fuel = item != null && new ItemStack(item).getBurnTime(null) > 0; } if (arclight$spec.occluding == null) { arclight$spec.occluding = arclight$spec.solid; diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/monster/piglin/PiglinAiMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/monster/piglin/PiglinAiMixin.java index 670f96fa..346e2e1b 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/monster/piglin/PiglinAiMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/monster/piglin/PiglinAiMixin.java @@ -20,6 +20,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; import java.util.List; +import java.util.stream.Collectors; @Mixin(PiglinAi.class) public abstract class PiglinAiMixin { @@ -92,7 +93,7 @@ public abstract class PiglinAiMixin { ItemStack stack = piglin.getItemInHand(InteractionHand.OFF_HAND); PiglinBarterEvent event = CraftEventFactory.callPiglinBarterEvent(piglin, getBarterResponseItems(piglin), stack); if (!event.isCancelled()) { - throwItems(piglin, event.getOutcome().stream().map(CraftItemStack::asNMSCopy).toList()); + throwItems(piglin, event.getOutcome().stream().map(CraftItemStack::asNMSCopy).collect(Collectors.toList())); } } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/ForgeHooksMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/ForgeHooksMixin.java index d49092c2..5061e391 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/ForgeHooksMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/forge/ForgeHooksMixin.java @@ -1,18 +1,17 @@ package io.izzel.arclight.common.mixin.forge; +import io.izzel.arclight.common.mod.util.ArclightCaptures; import net.minecraft.core.BlockPos; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.Level; import net.minecraftforge.common.ForgeHooks; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -import io.izzel.arclight.common.mod.util.ArclightCaptures; @Mixin(ForgeHooks.class) public class ForgeHooksMixin { @@ -29,7 +28,7 @@ public class ForgeHooksMixin { @Inject(method = "canEntityDestroy", cancellable = true, remap = false, at = @At("HEAD")) private static void arclight$returnIfNotLoaded(Level world, BlockPos pos, LivingEntity entity, CallbackInfoReturnable cir) { - if (!world.getChunkSource().isEntityTickingChunk(new ChunkPos(pos.getX() >> 4, pos.getZ() >> 4))) { + if (!world.isLoaded(pos)) { cir.setReturnValue(false); } } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightConnector.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightConnector.java index a61fddbc..a825e861 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightConnector.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightConnector.java @@ -1,6 +1,5 @@ package io.izzel.arclight.common.mod; -import cpw.mods.modlauncher.api.ITransformingClassLoader; import io.izzel.arclight.common.mod.util.log.ArclightI18nLogger; import io.izzel.arclight.mixin.injector.EjectorInfo; import org.apache.logging.log4j.Logger; @@ -8,20 +7,12 @@ import org.spongepowered.asm.mixin.Mixins; import org.spongepowered.asm.mixin.connect.IMixinConnector; import org.spongepowered.asm.mixin.injection.struct.InjectionInfo; -import java.util.Arrays; -import java.util.List; - public class ArclightConnector implements IMixinConnector { public static final Logger LOGGER = ArclightI18nLogger.getLogger("Arclight"); - private static final List FILTER_PACKAGE = Arrays.asList("com.google.common", "com.google.gson", "ninja.leaping.configurate", - "io.izzel.arclight.i18n"); @Override public void connect() { - ((ITransformingClassLoader) Thread.currentThread().getContextClassLoader()).addTargetPackageFilter( - s -> FILTER_PACKAGE.stream().noneMatch(s::startsWith) - ); InjectionInfo.register(EjectorInfo.class); Mixins.addConfiguration("mixins.arclight.core.json"); Mixins.addConfiguration("mixins.arclight.bukkit.json"); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightLocator.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightLocator.java index c7642da2..152e529a 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightLocator.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightLocator.java @@ -4,8 +4,10 @@ import com.google.common.collect.ImmutableList; import net.minecraftforge.fml.loading.moddiscovery.AbstractJarFileLocator; import net.minecraftforge.forgespi.locating.IModFile; +import java.nio.file.Path; import java.util.List; import java.util.Map; +import java.util.stream.Stream; public abstract class ArclightLocator extends AbstractJarFileLocator { @@ -13,7 +15,6 @@ public abstract class ArclightLocator extends AbstractJarFileLocator { public ArclightLocator() { this.arclight = loadJars(); - this.modJars.put(arclight, createFileSystem(arclight)); } protected abstract IModFile loadJars(); @@ -31,4 +32,9 @@ public abstract class ArclightLocator extends AbstractJarFileLocator { @Override public void initArguments(Map arguments) { } + + @Override + public Stream scanCandidates() { + return Stream.empty(); + } } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMod.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMod.java index 13ef74f8..c99fd727 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMod.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMod.java @@ -4,12 +4,11 @@ import io.izzel.arclight.api.ArclightVersion; import io.izzel.arclight.common.mod.server.ArclightPermissionHandler; import io.izzel.arclight.common.mod.server.event.ArclightEventDispatcherRegistry; import io.izzel.arclight.common.mod.util.log.ArclightI18nLogger; -import net.minecraftforge.fml.ExtensionPoint; +import net.minecraftforge.fml.IExtensionPoint; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.network.FMLNetworkConstants; +import net.minecraftforge.fmllegacy.network.FMLNetworkConstants; import net.minecraftforge.server.permission.PermissionAPI; -import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.Logger; @Mod("arclight") @@ -21,7 +20,8 @@ public class ArclightMod { LOGGER.info("mod-load"); ArclightVersion.setVersion(ArclightVersion.v1_16_4); ArclightEventDispatcherRegistry.registerAllEventDispatchers(); - ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.DISPLAYTEST, () -> Pair.of(() -> FMLNetworkConstants.IGNORESERVERONLY, (a, b) -> true)); + ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, + () -> new IExtensionPoint.DisplayTest(() -> FMLNetworkConstants.IGNORESERVERONLY, (a, b) -> true)); PermissionAPI.setPermissionHandler(ArclightPermissionHandler.INSTANCE); } } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightContainer.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightContainer.java index 9dd75d5c..db6a5f33 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightContainer.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightContainer.java @@ -182,7 +182,7 @@ public class ArclightContainer { @Override public void setItem(int index, @NotNull ItemStack stack) { if (index >= size) return; - container.setItem(index, stack); + container.getSlot(index).set(stack); } @Override diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java index 325db258..1d6b61a2 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/ArclightServer.java @@ -8,7 +8,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.server.dedicated.DedicatedServer; import net.minecraft.server.players.PlayerList; import net.minecraft.world.level.dimension.DimensionType; -import net.minecraftforge.fml.server.ServerLifecycleHooks; +import net.minecraftforge.fmllegacy.server.ServerLifecycleHooks; import org.bukkit.World; import org.bukkit.craftbukkit.v.CraftServer; import org.bukkit.craftbukkit.v.command.ColouredConsoleSender; diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/BukkitRegistry.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/BukkitRegistry.java index 9a6fb587..6c3780b1 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/BukkitRegistry.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/BukkitRegistry.java @@ -29,7 +29,7 @@ import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.dimension.DimensionType; -import net.minecraftforge.fml.CrashReportExtender; +import net.minecraftforge.fml.CrashReportCallables; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistry; import net.minecraftforge.registries.IForgeRegistry; @@ -81,7 +81,7 @@ public class BukkitRegistry { private static final BiMap STATS = HashBiMap.create(Unsafe.getStatic(CraftStatistic.class, "statistics")); public static void registerAll() { - CrashReportExtender.registerCrashCallable("Arclight", () -> new CraftCrashReport().call().toString()); + CrashReportCallables.registerCrashCallable("Arclight", new CraftCrashReport()); loadMaterials(); loadPotions(); loadEnchantments(); @@ -382,7 +382,7 @@ public class BukkitRegistry { private static Set> registries() { return ImmutableSet.of(ForgeRegistries.BLOCKS, ForgeRegistries.ITEMS, ForgeRegistries.POTION_TYPES, ForgeRegistries.POTIONS, - ForgeRegistries.ENTITIES, ForgeRegistries.TILE_ENTITIES, + ForgeRegistries.ENTITIES, ForgeRegistries.BLOCK_ENTITIES, ForgeRegistries.BIOMES); } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/event/EntityTeleportEventDispatcher.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/event/EntityTeleportEventDispatcher.java index 22baaef1..f769d9cb 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/event/EntityTeleportEventDispatcher.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/server/event/EntityTeleportEventDispatcher.java @@ -3,7 +3,6 @@ package io.izzel.arclight.common.mod.server.event; import io.izzel.arclight.common.bridge.entity.EntityBridge; import io.izzel.arclight.common.bridge.entity.player.ServerPlayerEntityBridge; import net.minecraft.server.level.ServerPlayer; -import net.minecraftforge.event.entity.living.EnderTeleportEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -15,7 +14,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; public class EntityTeleportEventDispatcher { @SubscribeEvent(receiveCanceled = true) - public void onTeleport(EnderTeleportEvent event) { + public void onTeleport(net.minecraftforge.event.entity.EntityTeleportEvent.EnderEntity event) { if (event.getEntity() instanceof ServerPlayer) { CraftPlayer player = ((ServerPlayerEntityBridge) event.getEntity()).bridge$getBukkitEntity(); PlayerTeleportEvent bukkitEvent = new PlayerTeleportEvent(player, player.getLocation(), new Location(player.getWorld(), event.getTargetX(), event.getTargetY(), event.getTargetZ()), PlayerTeleportEvent.TeleportCause.ENDER_PEARL); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/ArclightSpecialRecipe.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/ArclightSpecialRecipe.java index eee02749..11e37c4f 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/ArclightSpecialRecipe.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/ArclightSpecialRecipe.java @@ -2,7 +2,7 @@ package io.izzel.arclight.common.mod.util; import io.izzel.arclight.common.bridge.item.crafting.RecipeManagerBridge; import net.minecraft.world.item.crafting.Recipe; -import net.minecraftforge.fml.server.ServerLifecycleHooks; +import net.minecraftforge.fmllegacy.server.ServerLifecycleHooks; import org.bukkit.NamespacedKey; import org.bukkit.craftbukkit.v.inventory.CraftComplexRecipe; import org.bukkit.craftbukkit.v.inventory.CraftItemStack; diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/DelegateWorldInfo.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/DelegateWorldInfo.java index a7547bb8..4de9e67e 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/DelegateWorldInfo.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/DelegateWorldInfo.java @@ -1,9 +1,8 @@ package io.izzel.arclight.common.mod.util; import com.mojang.serialization.Lifecycle; -import io.izzel.arclight.common.bridge.world.storage.WorldInfoBridge; import io.izzel.arclight.common.bridge.world.storage.DerivedWorldInfoBridge; -import net.minecraft.CrashReportCategory; +import io.izzel.arclight.common.bridge.world.storage.WorldInfoBridge; import net.minecraft.core.BlockPos; import net.minecraft.server.MinecraftServer; import net.minecraft.world.Difficulty; @@ -16,6 +15,7 @@ import net.minecraft.world.level.storage.DerivedLevelData; import net.minecraft.world.level.storage.PrimaryLevelData; import net.minecraft.world.level.storage.ServerLevelData; import net.minecraft.world.level.timers.TimerQueue; + import java.util.UUID; @SuppressWarnings("all") @@ -233,11 +233,6 @@ public class DelegateWorldInfo extends PrimaryLevelData { derivedWorldInfo.setWanderingTraderId(id); } - @Override - public void fillCrashReportCategory(CrashReportCategory category) { - derivedWorldInfo.fillCrashReportCategory(category); - } - public static DelegateWorldInfo wrap(DerivedLevelData worldInfo) { return new DelegateWorldInfo(worldSettings(worldInfo), generatorSettings(worldInfo), lifecycle(worldInfo), worldInfo); } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/WrappedContents.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/WrappedContents.java index 63622f79..e429b9c2 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/WrappedContents.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/WrappedContents.java @@ -1,6 +1,5 @@ package io.izzel.arclight.common.mod.util; -import mcp.MethodsReturnNonnullByDefault; import net.minecraft.core.NonNullList; import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; @@ -8,13 +7,13 @@ import org.jetbrains.annotations.NotNull; import javax.annotation.ParametersAreNonnullByDefault; -@MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault public class WrappedContents extends NonNullList { private final Container inventory; public WrappedContents(Container inventory) { + super(null, null); this.inventory = inventory; } diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/RemappingClassLoader.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/RemappingClassLoader.java index 9e436751..d5bfa88d 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/RemappingClassLoader.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/RemappingClassLoader.java @@ -1,6 +1,6 @@ package io.izzel.arclight.common.mod.util.remapper; -import cpw.mods.modlauncher.api.ITransformingClassLoader; +import cpw.mods.modlauncher.TransformingClassLoader; public interface RemappingClassLoader { @@ -9,7 +9,7 @@ public interface RemappingClassLoader { static ClassLoader asTransforming(ClassLoader classLoader) { boolean found = false; while (classLoader != null) { - if (classLoader instanceof ITransformingClassLoader || classLoader instanceof RemappingClassLoader) { + if (classLoader instanceof TransformingClassLoader || classLoader instanceof RemappingClassLoader) { found = true; break; } else { diff --git a/arclight-forge/build.gradle b/arclight-forge/build.gradle index 3a1e128e..4e4305ab 100644 --- a/arclight-forge/build.gradle +++ b/arclight-forge/build.gradle @@ -7,9 +7,8 @@ buildscript { } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forge_gradle_version}" - classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT' - // classpath "io.izzel.arclight:arclight-gradle-plugin:$agpVersion" - classpath files("G:\\workspace\\arclight-gradle-plugin\\build\\libs\\arclight-gradle-plugin-1.18.jar") + classpath 'org.spongepowered:mixingradle:0.7.1-SNAPSHOT' + classpath "io.izzel.arclight:arclight-gradle-plugin:$agpVersion" } } @@ -140,6 +139,7 @@ jar { } from(project(':arclight-common').tasks.jar.outputs.files.collect { it.isDirectory() ? it : zipTree(it) }) from sourceSets.applaunch.output.classesDirs + duplicatesStrategy = DuplicatesStrategy.EXCLUDE } remapSpigotJar { @@ -157,7 +157,7 @@ compileJava { } compileApplaunchJava { - sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_6 + sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_7 } task srgJar(type: Jar) { diff --git a/arclight-forge/src/main/java/io/izzel/arclight/impl/ArclightLocator_Forge.java b/arclight-forge/src/main/java/io/izzel/arclight/impl/ArclightLocator_Forge.java index c171f9d6..7fe05529 100644 --- a/arclight-forge/src/main/java/io/izzel/arclight/impl/ArclightLocator_Forge.java +++ b/arclight-forge/src/main/java/io/izzel/arclight/impl/ArclightLocator_Forge.java @@ -6,13 +6,15 @@ import net.minecraftforge.forgespi.locating.IModFile; import java.io.File; import java.net.URISyntaxException; +import java.nio.file.Path; +import java.util.stream.Stream; public class ArclightLocator_Forge extends ArclightLocator { @Override protected IModFile loadJars() { try { - return ModFile.newFMLInstance(new File(ArclightLocator.class.getProtectionDomain().getCodeSource().getLocation().toURI()).toPath(), this); + return ModFile.newFMLInstance(this, new File(ArclightLocator.class.getProtectionDomain().getCodeSource().getLocation().toURI()).toPath()); } catch (URISyntaxException e) { throw new RuntimeException(e); } diff --git a/build.gradle b/build.gradle index e0df20ba..7eceadfa 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ allprojects { version '1.0.20' ext { - agpVersion = '1.17' + agpVersion = '1.18' minecraftVersion = '1.17.1' forgeVersion = '37.0.1' apiVersion = '1.0.+'