From cd6c392e368bdbe933b844fabb813bc94b2b9656 Mon Sep 17 00:00:00 2001 From: Mgazul Date: Sun, 6 Aug 2023 18:54:18 +0800 Subject: [PATCH] Fix some bug --- src/main/java/com/mohistmc/Metrics.java | 19 +++---- src/main/java/com/mohistmc/MohistConfig.java | 1 - .../com/mohistmc/MohistProxySelector.java | 3 +- src/main/java/com/mohistmc/api/ItemAPI.java | 9 ++-- src/main/java/com/mohistmc/api/PlayerAPI.java | 7 +-- src/main/java/com/mohistmc/api/ServerAPI.java | 15 +++--- .../api/event/MohistNetworkEvent.java | 3 +- .../java/com/mohistmc/api/mc/ChunkMcAPI.java | 5 +- .../mohistmc/bukkit/ServerListPingEvent.java | 7 +-- .../bukkit/nms/model/ClassMapping.java | 1 + .../bukkit/nms/proxy/DelegateClassLoder.java | 3 +- .../nms/proxy/DelegateURLClassLoder.java | 7 +-- .../mohistmc/bukkit/nms/proxy/ProxyClass.java | 1 + .../nms/proxy/ProxyMethodHandlesLookup.java | 1 + .../nms/proxy/ProxyYamlConfiguration.java | 5 +- .../bukkit/nms/remappers/MohistClassRepo.java | 5 +- .../remappers/MohistInheritanceProvider.java | 5 +- .../nms/remappers/MohistJarMapping.java | 15 +++--- .../nms/remappers/MohistJarRemapper.java | 6 +-- .../remappers/MohistSuperClassRemapper.java | 8 +-- .../nms/remappers/ReflectMethodRemapper.java | 15 +++--- .../mohistmc/bukkit/nms/utils/ASMUtils.java | 21 ++++---- .../mohistmc/bukkit/nms/utils/RemapUtils.java | 18 +++---- .../bukkit/pluginfix/PluginFixManager.java | 1 - .../bukkit/pluginfix/fix/DynmapFix.java | 1 - .../mohistmc/command/BackupWorldCommand.java | 7 +-- .../mohistmc/command/DownloadFileCommand.java | 2 +- .../command/GetPluginListCommand.java | 3 +- .../com/mohistmc/command/MohistCommand.java | 13 +++-- .../com/mohistmc/command/PluginCommand.java | 9 ++-- .../command/WhitelistModsCommand.java | 2 - .../forge/BukkitPermissionsHandler.java | 5 +- .../com/mohistmc/forge/ForgeInjectBukkit.java | 12 ++--- .../com/mohistmc/forge/ModCustomCommand.java | 7 +-- .../forge/MohistDerivedWorldInfo.java | 3 +- .../com/mohistmc/forge/MohistForgeUtils.java | 1 + .../inventory/CraftCustomInventory.java | 51 +------------------ .../mohistmc/inventory/InventoryOwner.java | 50 ++++++++++++++++++ .../mohistmc/netty/NettyPacketCompressor.java | 3 +- .../netty/NettyPacketDecompressor.java | 3 +- .../com/mohistmc/plugins/WorldCommand.java | 3 +- src/main/java/com/mohistmc/util/Counter.java | 4 +- .../com/mohistmc/util/FindClassInJar.java | 1 - .../mohistmc/util/MohistJDK8EnumHelper.java | 2 +- .../mohistmc/util/MohistJDK9EnumHelper.java | 3 +- .../mohistmc/util/MohistModuleManager.java | 3 +- .../mohistmc/util/pluginmanager/Control.java | 17 ++++--- .../util/pluginmanager/PluginManagers.java | 5 +- .../items/VanillaInventoryCodeHooks.java | 26 ++-------- .../items/wrapper/CombinedInvWrapper.java | 4 ++ 50 files changed, 216 insertions(+), 205 deletions(-) diff --git a/src/main/java/com/mohistmc/Metrics.java b/src/main/java/com/mohistmc/Metrics.java index f09938dc7b..9c86e24cc2 100644 --- a/src/main/java/com/mohistmc/Metrics.java +++ b/src/main/java/com/mohistmc/Metrics.java @@ -20,6 +20,16 @@ import com.mohistmc.api.ServerAPI; import com.mohistmc.common.async.MohistThreadBox; +import net.minecraft.server.MinecraftServer; +import org.bukkit.Bukkit; +import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.craftbukkit.v1_16_R3.CraftServer; +import org.bukkit.plugin.Plugin; +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.spigotmc.SpigotConfig; + +import javax.net.ssl.HttpsURLConnection; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.File; @@ -36,15 +46,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.GZIPOutputStream; -import javax.net.ssl.HttpsURLConnection; -import net.minecraft.server.MinecraftServer; -import org.bukkit.Bukkit; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.craftbukkit.v1_16_R3.CraftServer; -import org.bukkit.plugin.Plugin; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import org.spigotmc.SpigotConfig; /** * bStats collects some data for plugin authors. diff --git a/src/main/java/com/mohistmc/MohistConfig.java b/src/main/java/com/mohistmc/MohistConfig.java index cdd9e1f3d8..85d88dfbdb 100644 --- a/src/main/java/com/mohistmc/MohistConfig.java +++ b/src/main/java/com/mohistmc/MohistConfig.java @@ -24,7 +24,6 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/com/mohistmc/MohistProxySelector.java b/src/main/java/com/mohistmc/MohistProxySelector.java index 8f1baa4b6e..f6d45c12db 100644 --- a/src/main/java/com/mohistmc/MohistProxySelector.java +++ b/src/main/java/com/mohistmc/MohistProxySelector.java @@ -20,13 +20,14 @@ import com.mohistmc.api.event.MohistNetworkEvent; import com.mohistmc.util.IOUtil; +import org.bukkit.Bukkit; + import java.io.IOException; import java.net.Proxy; import java.net.ProxySelector; import java.net.SocketAddress; import java.net.URI; import java.util.List; -import org.bukkit.Bukkit; public class MohistProxySelector extends ProxySelector { diff --git a/src/main/java/com/mohistmc/api/ItemAPI.java b/src/main/java/com/mohistmc/api/ItemAPI.java index 24c141bd64..9a2822f5f2 100644 --- a/src/main/java/com/mohistmc/api/ItemAPI.java +++ b/src/main/java/com/mohistmc/api/ItemAPI.java @@ -18,16 +18,17 @@ package com.mohistmc.api; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; import net.minecraft.util.ResourceLocation; import org.bukkit.Material; import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftItemStack; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + public class ItemAPI { public static Map MODNAME_MAP = new ConcurrentHashMap(); diff --git a/src/main/java/com/mohistmc/api/PlayerAPI.java b/src/main/java/com/mohistmc/api/PlayerAPI.java index 009a219136..30139fcaa7 100644 --- a/src/main/java/com/mohistmc/api/PlayerAPI.java +++ b/src/main/java/com/mohistmc/api/PlayerAPI.java @@ -19,15 +19,16 @@ package com.mohistmc.api; import com.mojang.authlib.GameProfile; -import java.net.SocketAddress; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.server.MinecraftServer; import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer; import org.bukkit.entity.Player; +import java.net.SocketAddress; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + public class PlayerAPI { public static Map mods = new ConcurrentHashMap<>(); diff --git a/src/main/java/com/mohistmc/api/ServerAPI.java b/src/main/java/com/mohistmc/api/ServerAPI.java index 3da96dcbe1..841558877f 100644 --- a/src/main/java/com/mohistmc/api/ServerAPI.java +++ b/src/main/java/com/mohistmc/api/ServerAPI.java @@ -19,24 +19,21 @@ package com.mohistmc.api; import io.netty.util.internal.ConcurrentSet; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -import net.minecraft.entity.boss.dragon.phase.PhaseType; import net.minecraft.server.MinecraftServer; import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.ModLoader; import net.minecraftforge.fml.loading.moddiscovery.ModInfo; -import net.minecraftforge.forgespi.language.IModInfo; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.entity.EnderDragon; import org.bukkit.event.Listener; import org.bukkit.plugin.Plugin; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + public class ServerAPI { public static Map mods = new ConcurrentHashMap(); diff --git a/src/main/java/com/mohistmc/api/event/MohistNetworkEvent.java b/src/main/java/com/mohistmc/api/event/MohistNetworkEvent.java index 5852af0721..12a6a17394 100644 --- a/src/main/java/com/mohistmc/api/event/MohistNetworkEvent.java +++ b/src/main/java/com/mohistmc/api/event/MohistNetworkEvent.java @@ -18,12 +18,13 @@ package com.mohistmc.api.event; -import java.net.URI; import org.bukkit.Bukkit; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; +import java.net.URI; + public class MohistNetworkEvent extends Event implements Cancellable { private static HandlerList handlers = new HandlerList(); diff --git a/src/main/java/com/mohistmc/api/mc/ChunkMcAPI.java b/src/main/java/com/mohistmc/api/mc/ChunkMcAPI.java index d038b34957..dd87801ceb 100644 --- a/src/main/java/com/mohistmc/api/mc/ChunkMcAPI.java +++ b/src/main/java/com/mohistmc/api/mc/ChunkMcAPI.java @@ -19,8 +19,6 @@ package com.mohistmc.api.mc; import com.mojang.datafixers.util.Either; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; import net.minecraft.util.math.ChunkPos; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.server.ChunkHolder; @@ -28,6 +26,9 @@ import net.minecraft.world.server.ChunkHolder.LocationType; import net.minecraft.world.server.ServerWorld; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; + /** * Mohist API for Minecraft chunks. * @author KR33PY diff --git a/src/main/java/com/mohistmc/bukkit/ServerListPingEvent.java b/src/main/java/com/mohistmc/bukkit/ServerListPingEvent.java index e4fb2e9366..9a62003bdc 100644 --- a/src/main/java/com/mohistmc/bukkit/ServerListPingEvent.java +++ b/src/main/java/com/mohistmc/bukkit/ServerListPingEvent.java @@ -18,9 +18,6 @@ package com.mohistmc.bukkit; -import java.net.InetSocketAddress; -import java.util.Iterator; -import java.util.NoSuchElementException; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.network.NetworkManager; import net.minecraft.server.MinecraftServer; @@ -29,6 +26,10 @@ import org.bukkit.craftbukkit.v1_16_R3.util.CraftIconCache; import org.bukkit.entity.Player; +import java.net.InetSocketAddress; +import java.util.Iterator; +import java.util.NoSuchElementException; + public class ServerListPingEvent extends org.bukkit.event.server.ServerListPingEvent { public CraftIconCache icon; diff --git a/src/main/java/com/mohistmc/bukkit/nms/model/ClassMapping.java b/src/main/java/com/mohistmc/bukkit/nms/model/ClassMapping.java index 08d001d97d..4e02c707f7 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/model/ClassMapping.java +++ b/src/main/java/com/mohistmc/bukkit/nms/model/ClassMapping.java @@ -20,6 +20,7 @@ import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; + import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateClassLoder.java b/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateClassLoder.java index 9bc23598a2..674f33a282 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateClassLoder.java +++ b/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateClassLoder.java @@ -19,9 +19,10 @@ package com.mohistmc.bukkit.nms.proxy; import com.mohistmc.bukkit.nms.utils.RemapUtils; -import java.security.ProtectionDomain; import net.md_5.specialsource.repo.RuntimeRepo; +import java.security.ProtectionDomain; + public class DelegateClassLoder extends ClassLoader{ public static final String desc = DelegateClassLoder.class.getName().replace('.', '/'); diff --git a/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateURLClassLoder.java b/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateURLClassLoder.java index 5b9e25c894..433b83b798 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateURLClassLoder.java +++ b/src/main/java/com/mohistmc/bukkit/nms/proxy/DelegateURLClassLoder.java @@ -20,6 +20,10 @@ import com.mohistmc.bukkit.nms.utils.RemapUtils; import com.mohistmc.util.MohistJDK9EnumHelper; +import net.md_5.specialsource.repo.RuntimeRepo; +import org.bukkit.configuration.serialization.ConfigurationSerializable; +import org.bukkit.configuration.serialization.ConfigurationSerialization; + import java.io.InputStream; import java.net.JarURLConnection; import java.net.URL; @@ -34,9 +38,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.jar.Attributes; import java.util.jar.Manifest; -import net.md_5.specialsource.repo.RuntimeRepo; -import org.bukkit.configuration.serialization.ConfigurationSerializable; -import org.bukkit.configuration.serialization.ConfigurationSerialization; /** * diff --git a/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyClass.java b/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyClass.java index 3af7330195..c02a7b5b8d 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyClass.java +++ b/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyClass.java @@ -22,6 +22,7 @@ import com.mohistmc.bukkit.nms.utils.ASMUtils; import com.mohistmc.bukkit.nms.utils.ReflectionUtils; import com.mohistmc.bukkit.nms.utils.RemapUtils; + import java.lang.reflect.Field; import java.lang.reflect.Method; diff --git a/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyMethodHandlesLookup.java b/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyMethodHandlesLookup.java index efac83585d..0ab33e1793 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyMethodHandlesLookup.java +++ b/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyMethodHandlesLookup.java @@ -20,6 +20,7 @@ import com.mohistmc.bukkit.nms.remappers.ReflectMethodRemapper; import com.mohistmc.bukkit.nms.utils.RemapUtils; + import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; diff --git a/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyYamlConfiguration.java b/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyYamlConfiguration.java index 3ea6808e58..3758fbbe31 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyYamlConfiguration.java +++ b/src/main/java/com/mohistmc/bukkit/nms/proxy/ProxyYamlConfiguration.java @@ -18,12 +18,13 @@ package com.mohistmc.bukkit.nms.proxy; +import org.bukkit.configuration.file.YamlConfiguration; +import org.yaml.snakeyaml.reader.ReaderException; + import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import org.bukkit.configuration.file.YamlConfiguration; -import org.yaml.snakeyaml.reader.ReaderException; /** * diff --git a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistClassRepo.java b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistClassRepo.java index 315b4e0277..d6ae655f0f 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistClassRepo.java +++ b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistClassRepo.java @@ -19,12 +19,13 @@ package com.mohistmc.bukkit.nms.remappers; import com.mohistmc.bukkit.nms.ClassLoaderContext; -import java.io.IOException; -import java.io.InputStream; import net.md_5.specialsource.repo.CachingRepo; import org.objectweb.asm.ClassReader; import org.objectweb.asm.tree.ClassNode; +import java.io.IOException; +import java.io.InputStream; + /** * * @author pyz diff --git a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistInheritanceProvider.java b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistInheritanceProvider.java index f0642b8419..91684ae959 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistInheritanceProvider.java +++ b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistInheritanceProvider.java @@ -19,11 +19,12 @@ package com.mohistmc.bukkit.nms.remappers; import com.mohistmc.bukkit.nms.utils.RemapUtils; +import net.md_5.specialsource.provider.InheritanceProvider; +import org.objectweb.asm.tree.ClassNode; + import java.util.HashSet; import java.util.Objects; import java.util.Set; -import net.md_5.specialsource.provider.InheritanceProvider; -import org.objectweb.asm.tree.ClassNode; public class MohistInheritanceProvider implements InheritanceProvider { @Override diff --git a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarMapping.java b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarMapping.java index 58dd88dce8..64da834daa 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarMapping.java +++ b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarMapping.java @@ -20,6 +20,14 @@ import com.google.common.collect.BiMap; import com.mohistmc.bukkit.nms.model.ClassMapping; +import net.md_5.specialsource.InheritanceMap; +import net.md_5.specialsource.NodeType; +import net.md_5.specialsource.provider.InheritanceProvider; +import net.md_5.specialsource.transformer.MappingTransformer; +import net.md_5.specialsource.transformer.MavenShade; +import org.objectweb.asm.Type; +import org.objectweb.asm.commons.Remapper; + import java.io.BufferedReader; import java.io.IOException; import java.lang.reflect.Modifier; @@ -30,13 +38,6 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; -import net.md_5.specialsource.InheritanceMap; -import net.md_5.specialsource.NodeType; -import net.md_5.specialsource.provider.InheritanceProvider; -import net.md_5.specialsource.transformer.MappingTransformer; -import net.md_5.specialsource.transformer.MavenShade; -import org.objectweb.asm.Type; -import org.objectweb.asm.commons.Remapper; /** * diff --git a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarRemapper.java b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarRemapper.java index 39250f67f7..559480150e 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarRemapper.java +++ b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistJarRemapper.java @@ -19,9 +19,6 @@ package com.mohistmc.bukkit.nms.remappers; import com.mohistmc.bukkit.nms.model.ClassMapping; -import java.io.IOException; -import java.io.InputStream; -import java.util.Map; import net.md_5.specialsource.CustomRemapper; import net.md_5.specialsource.NodeType; import net.md_5.specialsource.RemapperProcessor; @@ -32,6 +29,9 @@ import org.objectweb.asm.ClassWriter; import org.objectweb.asm.tree.ClassNode; +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; import static org.objectweb.asm.ClassWriter.COMPUTE_MAXS; diff --git a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistSuperClassRemapper.java b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistSuperClassRemapper.java index b51667c863..e76ee14056 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistSuperClassRemapper.java +++ b/src/main/java/com/mohistmc/bukkit/nms/remappers/MohistSuperClassRemapper.java @@ -22,10 +22,6 @@ import com.mohistmc.bukkit.nms.proxy.DelegateClassLoder; import com.mohistmc.bukkit.nms.proxy.DelegateURLClassLoder; import com.mohistmc.bukkit.nms.utils.ASMUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.ListIterator; -import java.util.Map; import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; import org.objectweb.asm.tree.AbstractInsnNode; @@ -33,6 +29,10 @@ import org.objectweb.asm.tree.MethodInsnNode; import org.objectweb.asm.tree.MethodNode; import org.objectweb.asm.tree.TypeInsnNode; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Map; public class MohistSuperClassRemapper { public static Map> defineClass = Maps.newHashMap(); diff --git a/src/main/java/com/mohistmc/bukkit/nms/remappers/ReflectMethodRemapper.java b/src/main/java/com/mohistmc/bukkit/nms/remappers/ReflectMethodRemapper.java index cfc0b7c116..c577c0b64e 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/remappers/ReflectMethodRemapper.java +++ b/src/main/java/com/mohistmc/bukkit/nms/remappers/ReflectMethodRemapper.java @@ -25,6 +25,14 @@ import com.mohistmc.bukkit.nms.proxy.ProxyYamlConfiguration; import com.mohistmc.bukkit.nms.proxy.asm.ProxyClassWriter; import com.mohistmc.bukkit.nms.utils.ASMUtils; +import net.minecraftforge.server.ServerMain; +import org.bukkit.configuration.file.YamlConfiguration; +import org.objectweb.asm.MethodVisitor; +import org.objectweb.asm.Opcodes; +import org.objectweb.asm.Type; +import org.objectweb.asm.commons.MethodRemapper; +import org.objectweb.asm.commons.Remapper; + import java.io.InputStream; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodType; @@ -36,13 +44,6 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import net.minecraftforge.server.ServerMain; -import org.bukkit.configuration.file.YamlConfiguration; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; -import org.objectweb.asm.Type; -import org.objectweb.asm.commons.MethodRemapper; -import org.objectweb.asm.commons.Remapper; /** * diff --git a/src/main/java/com/mohistmc/bukkit/nms/utils/ASMUtils.java b/src/main/java/com/mohistmc/bukkit/nms/utils/ASMUtils.java index 89e60f5d0c..21c574da87 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/utils/ASMUtils.java +++ b/src/main/java/com/mohistmc/bukkit/nms/utils/ASMUtils.java @@ -18,16 +18,6 @@ package com.mohistmc.bukkit.nms.utils; -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.HashMap; -import java.util.Map; -import java.util.StringJoiner; -import java.util.function.BiConsumer; import org.objectweb.asm.ClassReader; import org.objectweb.asm.Handle; import org.objectweb.asm.Opcodes; @@ -40,6 +30,17 @@ import org.objectweb.asm.tree.TypeInsnNode; import org.objectweb.asm.tree.VarInsnNode; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; +import java.util.StringJoiner; +import java.util.function.BiConsumer; + /** * * @author pyz diff --git a/src/main/java/com/mohistmc/bukkit/nms/utils/RemapUtils.java b/src/main/java/com/mohistmc/bukkit/nms/utils/RemapUtils.java index db43a4e274..7a97733313 100644 --- a/src/main/java/com/mohistmc/bukkit/nms/utils/RemapUtils.java +++ b/src/main/java/com/mohistmc/bukkit/nms/utils/RemapUtils.java @@ -28,15 +28,6 @@ import com.mohistmc.bukkit.nms.remappers.MohistSuperClassRemapper; import com.mohistmc.bukkit.nms.remappers.ReflectMethodRemapper; import com.mohistmc.bukkit.nms.remappers.ReflectRemapper; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.lang.invoke.MethodType; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import net.md_5.specialsource.InheritanceMap; import net.md_5.specialsource.JarMapping; import net.md_5.specialsource.transformer.MavenShade; @@ -47,6 +38,15 @@ import org.objectweb.asm.commons.Remapper; import org.objectweb.asm.tree.ClassNode; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.lang.invoke.MethodType; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * * @author pyz diff --git a/src/main/java/com/mohistmc/bukkit/pluginfix/PluginFixManager.java b/src/main/java/com/mohistmc/bukkit/pluginfix/PluginFixManager.java index 499e8b130c..7862c747f4 100644 --- a/src/main/java/com/mohistmc/bukkit/pluginfix/PluginFixManager.java +++ b/src/main/java/com/mohistmc/bukkit/pluginfix/PluginFixManager.java @@ -30,7 +30,6 @@ import org.objectweb.asm.tree.MethodInsnNode; import org.objectweb.asm.tree.MethodNode; - import static org.objectweb.asm.Opcodes.INVOKESTATIC; import static org.objectweb.asm.Opcodes.IRETURN; diff --git a/src/main/java/com/mohistmc/bukkit/pluginfix/fix/DynmapFix.java b/src/main/java/com/mohistmc/bukkit/pluginfix/fix/DynmapFix.java index 08da7de241..e70ddc0ddc 100644 --- a/src/main/java/com/mohistmc/bukkit/pluginfix/fix/DynmapFix.java +++ b/src/main/java/com/mohistmc/bukkit/pluginfix/fix/DynmapFix.java @@ -27,7 +27,6 @@ import org.objectweb.asm.tree.LdcInsnNode; import org.objectweb.asm.tree.MethodNode; - import static org.objectweb.asm.Opcodes.ARETURN; public class DynmapFix { diff --git a/src/main/java/com/mohistmc/command/BackupWorldCommand.java b/src/main/java/com/mohistmc/command/BackupWorldCommand.java index 15111c59f4..8758b62f61 100644 --- a/src/main/java/com/mohistmc/command/BackupWorldCommand.java +++ b/src/main/java/com/mohistmc/command/BackupWorldCommand.java @@ -19,14 +19,15 @@ package com.mohistmc.command; import com.mohistmc.util.ZipUtil; -import java.io.File; -import java.nio.file.Paths; -import java.time.LocalDateTime; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; +import java.io.File; +import java.nio.file.Paths; +import java.time.LocalDateTime; + public class BackupWorldCommand extends Command { public BackupWorldCommand(String name) { diff --git a/src/main/java/com/mohistmc/command/DownloadFileCommand.java b/src/main/java/com/mohistmc/command/DownloadFileCommand.java index 45fa4ae563..15ab730bd9 100644 --- a/src/main/java/com/mohistmc/command/DownloadFileCommand.java +++ b/src/main/java/com/mohistmc/command/DownloadFileCommand.java @@ -18,10 +18,10 @@ package com.mohistmc.command; -import java.io.File; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; +import java.io.File; import static com.mohistmc.network.download.UpdateUtils.downloadFile; diff --git a/src/main/java/com/mohistmc/command/GetPluginListCommand.java b/src/main/java/com/mohistmc/command/GetPluginListCommand.java index dd6de65c0a..3793e2730c 100644 --- a/src/main/java/com/mohistmc/command/GetPluginListCommand.java +++ b/src/main/java/com/mohistmc/command/GetPluginListCommand.java @@ -19,12 +19,13 @@ package com.mohistmc.command; import com.mohistmc.util.HasteUtils; -import java.io.IOException; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; +import java.io.IOException; + public class GetPluginListCommand extends Command { private static String sendToHaste = ""; diff --git a/src/main/java/com/mohistmc/command/MohistCommand.java b/src/main/java/com/mohistmc/command/MohistCommand.java index dabdae6697..fd5c8e36d4 100644 --- a/src/main/java/com/mohistmc/command/MohistCommand.java +++ b/src/main/java/com/mohistmc/command/MohistCommand.java @@ -23,13 +23,6 @@ import com.mohistmc.api.PlayerAPI; import com.mohistmc.api.ServerAPI; import com.mohistmc.util.i18n.i18n; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; - import net.minecraft.server.MinecraftServer; import net.minecraftforge.versions.forge.ForgeVersion; import org.bukkit.Bukkit; @@ -39,6 +32,12 @@ import org.bukkit.craftbukkit.v1_16_R3.CraftServer; import org.bukkit.entity.Player; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; + public class MohistCommand extends Command { public MohistCommand(String name) { diff --git a/src/main/java/com/mohistmc/command/PluginCommand.java b/src/main/java/com/mohistmc/command/PluginCommand.java index 60fcd4450d..5ec0f721a6 100644 --- a/src/main/java/com/mohistmc/command/PluginCommand.java +++ b/src/main/java/com/mohistmc/command/PluginCommand.java @@ -19,16 +19,17 @@ package com.mohistmc.command; import com.mohistmc.util.pluginmanager.PluginManagers; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; + public class PluginCommand extends Command { public PluginCommand(String name) { diff --git a/src/main/java/com/mohistmc/command/WhitelistModsCommand.java b/src/main/java/com/mohistmc/command/WhitelistModsCommand.java index 2a41d979c4..104546cfb5 100644 --- a/src/main/java/com/mohistmc/command/WhitelistModsCommand.java +++ b/src/main/java/com/mohistmc/command/WhitelistModsCommand.java @@ -20,8 +20,6 @@ import com.mohistmc.MohistConfig; import com.mohistmc.api.ServerAPI; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.loading.moddiscovery.ModInfo; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; diff --git a/src/main/java/com/mohistmc/forge/BukkitPermissionsHandler.java b/src/main/java/com/mohistmc/forge/BukkitPermissionsHandler.java index 5de8f45b6f..134a6c1666 100644 --- a/src/main/java/com/mohistmc/forge/BukkitPermissionsHandler.java +++ b/src/main/java/com/mohistmc/forge/BukkitPermissionsHandler.java @@ -20,8 +20,6 @@ import com.mohistmc.api.PlayerAPI; import com.mojang.authlib.GameProfile; -import java.util.Collection; -import java.util.stream.Collectors; import net.minecraft.entity.player.PlayerEntity; import net.minecraftforge.server.permission.DefaultPermissionLevel; import net.minecraftforge.server.permission.IPermissionHandler; @@ -31,6 +29,9 @@ import org.bukkit.permissions.Permission; import org.jetbrains.annotations.NotNull; +import java.util.Collection; +import java.util.stream.Collectors; + /** * https://github.com/CJ-MC-Mods/ForgeToBukkitPermissions */ diff --git a/src/main/java/com/mohistmc/forge/ForgeInjectBukkit.java b/src/main/java/com/mohistmc/forge/ForgeInjectBukkit.java index f07a480dc8..27103736d6 100644 --- a/src/main/java/com/mohistmc/forge/ForgeInjectBukkit.java +++ b/src/main/java/com/mohistmc/forge/ForgeInjectBukkit.java @@ -25,15 +25,9 @@ import com.mohistmc.api.ServerAPI; import com.mohistmc.entity.CraftCustomEntity; import com.mohistmc.util.MohistEnumHelper; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import net.minecraft.block.Block; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.ai.attributes.Attribute; -import net.minecraft.entity.boss.dragon.phase.PhaseType; import net.minecraft.entity.item.PaintingType; import net.minecraft.entity.merchant.villager.VillagerProfession; import net.minecraft.item.Item; @@ -64,7 +58,6 @@ import org.bukkit.craftbukkit.v1_16_R3.potion.CraftPotionEffectType; import org.bukkit.craftbukkit.v1_16_R3.potion.CraftPotionUtil; import org.bukkit.craftbukkit.v1_16_R3.util.CraftMagicNumbers; -import org.bukkit.entity.EnderDragon; import org.bukkit.entity.EntityType; import org.bukkit.entity.Villager; import org.bukkit.permissions.PermissionDefault; @@ -72,6 +65,11 @@ import org.bukkit.potion.PotionType; import org.bukkit.util.permissions.DefaultPermissions; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + public class ForgeInjectBukkit { public static BiMap, World.Environment> environment = diff --git a/src/main/java/com/mohistmc/forge/ModCustomCommand.java b/src/main/java/com/mohistmc/forge/ModCustomCommand.java index 32d7cc648b..c04ba6cd72 100644 --- a/src/main/java/com/mohistmc/forge/ModCustomCommand.java +++ b/src/main/java/com/mohistmc/forge/ModCustomCommand.java @@ -21,9 +21,6 @@ import com.google.common.base.Joiner; import com.mojang.brigadier.ParseResults; import com.mojang.brigadier.tree.CommandNode; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; import net.minecraft.command.CommandSource; import net.minecraft.command.Commands; import net.minecraft.server.MinecraftServer; @@ -44,6 +41,10 @@ import org.bukkit.entity.Player; import org.bukkit.entity.minecart.CommandMinecart; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + public class ModCustomCommand extends BukkitCommand { private final Commands dispatcher; diff --git a/src/main/java/com/mohistmc/forge/MohistDerivedWorldInfo.java b/src/main/java/com/mohistmc/forge/MohistDerivedWorldInfo.java index 71cc7cc004..35cb72a1fa 100644 --- a/src/main/java/com/mohistmc/forge/MohistDerivedWorldInfo.java +++ b/src/main/java/com/mohistmc/forge/MohistDerivedWorldInfo.java @@ -1,7 +1,6 @@ package com.mohistmc.forge; import com.mojang.serialization.Lifecycle; -import java.util.UUID; import net.minecraft.command.TimerCallbackManager; import net.minecraft.crash.CrashReportCategory; import net.minecraft.server.MinecraftServer; @@ -16,6 +15,8 @@ import net.minecraft.world.storage.IServerWorldInfo; import net.minecraft.world.storage.ServerWorldInfo; +import java.util.UUID; + public class MohistDerivedWorldInfo extends ServerWorldInfo { private final DerivedWorldInfo derivedWorldInfo; diff --git a/src/main/java/com/mohistmc/forge/MohistForgeUtils.java b/src/main/java/com/mohistmc/forge/MohistForgeUtils.java index afa6717209..988b12fa51 100644 --- a/src/main/java/com/mohistmc/forge/MohistForgeUtils.java +++ b/src/main/java/com/mohistmc/forge/MohistForgeUtils.java @@ -19,6 +19,7 @@ package com.mohistmc.forge; import com.mohistmc.MohistConfig; + import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Pattern; diff --git a/src/main/java/com/mohistmc/inventory/CraftCustomInventory.java b/src/main/java/com/mohistmc/inventory/CraftCustomInventory.java index 9291338e67..26f238828d 100644 --- a/src/main/java/com/mohistmc/inventory/CraftCustomInventory.java +++ b/src/main/java/com/mohistmc/inventory/CraftCustomInventory.java @@ -18,26 +18,16 @@ package com.mohistmc.inventory; -import java.util.List; -import javax.annotation.Nullable; import net.minecraft.inventory.IInventory; -import net.minecraftforge.fml.common.ObfuscationReflectionHelper; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.ItemStackHandler; -import net.minecraftforge.items.SlotItemHandler; -import net.minecraftforge.items.wrapper.CombinedInvWrapper; -import net.minecraftforge.items.wrapper.InvWrapper; -import net.minecraftforge.items.wrapper.PlayerArmorInvWrapper; -import net.minecraftforge.items.wrapper.PlayerInvWrapper; -import net.minecraftforge.items.wrapper.PlayerMainInvWrapper; -import net.minecraftforge.items.wrapper.SidedInvWrapper; import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventory; import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventoryCustom; import org.bukkit.entity.HumanEntity; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; +import java.util.List; + public class CraftCustomInventory implements InventoryHolder { private final CraftInventory container; @@ -50,43 +40,6 @@ public CraftCustomInventory(ItemStackHandler handler) { this.container = new CraftInventoryCustom(this, handler.getStacks()); } - @Nullable - public static InventoryHolder holderFromForge(IItemHandler handler) { - if (handler == null) { - return null; - } - if (handler instanceof ItemStackHandler) { - return new CraftCustomInventory((ItemStackHandler) handler); - } - if (handler instanceof SlotItemHandler) { - return new CraftCustomInventory(((SlotItemHandler) handler).container); - } - if (handler instanceof InvWrapper) { - return new CraftCustomInventory(((InvWrapper) handler).getInv()); - } - if (handler instanceof SidedInvWrapper) { - return new CraftCustomInventory(((SidedInvWrapper) handler).getInv()); - } - if (handler instanceof PlayerInvWrapper) { - IItemHandlerModifiable[] piw = ObfuscationReflectionHelper.getPrivateValue(CombinedInvWrapper.class, (PlayerInvWrapper) handler, "itemHandler"); - for (IItemHandlerModifiable itemHandler : piw) { - if (itemHandler instanceof PlayerMainInvWrapper) { - return new CraftCustomInventory(((PlayerMainInvWrapper) itemHandler).getInventoryPlayer()); - } - if (itemHandler instanceof PlayerArmorInvWrapper) { - return new CraftCustomInventory(((PlayerArmorInvWrapper) itemHandler).getInventoryPlayer()); - } - } - } - return null; - } - - @Nullable - public static Inventory inventoryFromForge(IItemHandler handler) { - InventoryHolder holder = holderFromForge(handler); - return holder != null ? holder.getInventory() : null; - } - @Override public Inventory getInventory() { return this.container; diff --git a/src/main/java/com/mohistmc/inventory/InventoryOwner.java b/src/main/java/com/mohistmc/inventory/InventoryOwner.java index cbb6afa82f..fa35f5ac57 100644 --- a/src/main/java/com/mohistmc/inventory/InventoryOwner.java +++ b/src/main/java/com/mohistmc/inventory/InventoryOwner.java @@ -22,9 +22,21 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.items.IItemHandlerModifiable; +import net.minecraftforge.items.ItemStackHandler; +import net.minecraftforge.items.SlotItemHandler; +import net.minecraftforge.items.wrapper.InvWrapper; +import net.minecraftforge.items.wrapper.PlayerArmorInvWrapper; +import net.minecraftforge.items.wrapper.PlayerInvWrapper; +import net.minecraftforge.items.wrapper.PlayerMainInvWrapper; +import net.minecraftforge.items.wrapper.SidedInvWrapper; import org.bukkit.craftbukkit.v1_16_R3.block.CraftBlockEntityState; +import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; +import javax.annotation.Nullable; + /** * @author Mgazul * @date 2020/4/10 13:39 @@ -62,4 +74,42 @@ public static InventoryHolder get(World world, BlockPos pos, boolean useSnapshot } return null; } + + @Nullable + public static InventoryHolder get(IItemHandler handler) { + if (handler == null) { + return null; + } + if (handler instanceof ItemStackHandler) { + return new CraftCustomInventory((ItemStackHandler) handler); + } + if (handler instanceof SlotItemHandler) { + return new CraftCustomInventory(((SlotItemHandler) handler).container); + } + if (handler instanceof InvWrapper) { + return new CraftCustomInventory(((InvWrapper) handler).getInv()); + } + if (handler instanceof SidedInvWrapper) { + return new CraftCustomInventory(((SidedInvWrapper) handler).getInv()); + } + if (handler instanceof PlayerInvWrapper) { + IItemHandlerModifiable[] piw = ((PlayerInvWrapper) handler).itemHandler(); + for (IItemHandlerModifiable itemHandler : piw) { + if (itemHandler instanceof PlayerMainInvWrapper) { + return new CraftCustomInventory(((PlayerMainInvWrapper) itemHandler).getInventoryPlayer()); + } + if (itemHandler instanceof PlayerArmorInvWrapper) { + return new CraftCustomInventory(((PlayerArmorInvWrapper) itemHandler).getInventoryPlayer()); + } + } + } + return null; + } + + @Nullable + public static Inventory inventoryFromForge(IItemHandler handler) { + InventoryHolder holder = get(handler); + return holder != null ? holder.getInventory() : null; + } + } diff --git a/src/main/java/com/mohistmc/netty/NettyPacketCompressor.java b/src/main/java/com/mohistmc/netty/NettyPacketCompressor.java index 2e65425064..18e8ed5002 100644 --- a/src/main/java/com/mohistmc/netty/NettyPacketCompressor.java +++ b/src/main/java/com/mohistmc/netty/NettyPacketCompressor.java @@ -3,9 +3,10 @@ import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToByteEncoder; -import java.util.zip.Deflater; import net.minecraft.network.PacketBuffer; +import java.util.zip.Deflater; + public class NettyPacketCompressor extends MessageToByteEncoder { private final byte[] encodeBuf = new byte[8192]; private final Deflater deflater; diff --git a/src/main/java/com/mohistmc/netty/NettyPacketDecompressor.java b/src/main/java/com/mohistmc/netty/NettyPacketDecompressor.java index b039c39105..7895479345 100644 --- a/src/main/java/com/mohistmc/netty/NettyPacketDecompressor.java +++ b/src/main/java/com/mohistmc/netty/NettyPacketDecompressor.java @@ -6,9 +6,10 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.ByteToMessageDecoder; import io.netty.handler.codec.DecoderException; +import net.minecraft.network.PacketBuffer; + import java.util.List; import java.util.zip.Inflater; -import net.minecraft.network.PacketBuffer; public class NettyPacketDecompressor extends ByteToMessageDecoder { private final Inflater inflater; diff --git a/src/main/java/com/mohistmc/plugins/WorldCommand.java b/src/main/java/com/mohistmc/plugins/WorldCommand.java index ac7fdaba65..933d1d6b5a 100644 --- a/src/main/java/com/mohistmc/plugins/WorldCommand.java +++ b/src/main/java/com/mohistmc/plugins/WorldCommand.java @@ -19,7 +19,6 @@ package com.mohistmc.plugins; import com.mohistmc.api.ItemAPI; -import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.World; @@ -29,6 +28,8 @@ import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.inventory.Inventory; +import java.util.ArrayList; + public class WorldCommand extends Command { public WorldCommand(String name) { diff --git a/src/main/java/com/mohistmc/util/Counter.java b/src/main/java/com/mohistmc/util/Counter.java index ff4e3dd5a0..5cf171c105 100644 --- a/src/main/java/com/mohistmc/util/Counter.java +++ b/src/main/java/com/mohistmc/util/Counter.java @@ -2,11 +2,11 @@ import com.google.common.collect.ForwardingMap; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.Map; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; /** * @author Mgazul by MohistMC diff --git a/src/main/java/com/mohistmc/util/FindClassInJar.java b/src/main/java/com/mohistmc/util/FindClassInJar.java index 09803e09ca..f7a14a4bab 100644 --- a/src/main/java/com/mohistmc/util/FindClassInJar.java +++ b/src/main/java/com/mohistmc/util/FindClassInJar.java @@ -26,7 +26,6 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; - import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; /** diff --git a/src/main/java/com/mohistmc/util/MohistJDK8EnumHelper.java b/src/main/java/com/mohistmc/util/MohistJDK8EnumHelper.java index 8c6f1db69e..624edfa6ed 100644 --- a/src/main/java/com/mohistmc/util/MohistJDK8EnumHelper.java +++ b/src/main/java/com/mohistmc/util/MohistJDK8EnumHelper.java @@ -18,6 +18,7 @@ package com.mohistmc.util; +import javax.annotation.Nullable; import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -26,7 +27,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import javax.annotation.Nullable; public class MohistJDK8EnumHelper { diff --git a/src/main/java/com/mohistmc/util/MohistJDK9EnumHelper.java b/src/main/java/com/mohistmc/util/MohistJDK9EnumHelper.java index f61e0142f1..3457a6c9d8 100644 --- a/src/main/java/com/mohistmc/util/MohistJDK9EnumHelper.java +++ b/src/main/java/com/mohistmc/util/MohistJDK9EnumHelper.java @@ -18,6 +18,8 @@ package com.mohistmc.util; +import sun.misc.Unsafe; + import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.invoke.MethodType; @@ -26,7 +28,6 @@ import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.List; -import sun.misc.Unsafe; public class MohistJDK9EnumHelper { diff --git a/src/main/java/com/mohistmc/util/MohistModuleManager.java b/src/main/java/com/mohistmc/util/MohistModuleManager.java index e2bdbb0c96..d6d93207fc 100644 --- a/src/main/java/com/mohistmc/util/MohistModuleManager.java +++ b/src/main/java/com/mohistmc/util/MohistModuleManager.java @@ -18,6 +18,8 @@ package com.mohistmc.util; +import sun.misc.Unsafe; + import java.io.File; import java.lang.module.Configuration; import java.lang.module.ModuleFinder; @@ -30,7 +32,6 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; -import sun.misc.Unsafe; /** * @author Shawiiz_z diff --git a/src/main/java/com/mohistmc/util/pluginmanager/Control.java b/src/main/java/com/mohistmc/util/pluginmanager/Control.java index e2e0f050d0..b623212881 100644 --- a/src/main/java/com/mohistmc/util/pluginmanager/Control.java +++ b/src/main/java/com/mohistmc/util/pluginmanager/Control.java @@ -18,14 +18,6 @@ package com.mohistmc.util.pluginmanager; -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Field; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.jar.JarFile; -import java.util.zip.ZipEntry; import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -37,6 +29,15 @@ import org.bukkit.plugin.SimplePluginManager; import org.bukkit.plugin.java.JavaPlugin; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Field; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.jar.JarFile; +import java.util.zip.ZipEntry; + public class Control { public static PluginDescriptionFile getDescription(File file) { diff --git a/src/main/java/com/mohistmc/util/pluginmanager/PluginManagers.java b/src/main/java/com/mohistmc/util/pluginmanager/PluginManagers.java index 7c086bf2d8..f31b36cb4a 100644 --- a/src/main/java/com/mohistmc/util/pluginmanager/PluginManagers.java +++ b/src/main/java/com/mohistmc/util/pluginmanager/PluginManagers.java @@ -19,14 +19,15 @@ package com.mohistmc.util.pluginmanager; import com.mohistmc.util.i18n.i18n; -import java.io.File; -import java.util.ArrayList; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.java.JavaPlugin; +import java.io.File; +import java.util.ArrayList; + public class PluginManagers { public static String permission = "mohist.command.plugin"; diff --git a/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java b/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java index 013b04648c..8a98343fe8 100644 --- a/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java +++ b/src/main/java/net/minecraftforge/items/VanillaInventoryCodeHooks.java @@ -93,14 +93,8 @@ public static boolean dropperInsertHook(World world, BlockPos pos, DispenserTile Object destination = destinationResult.getValue(); // CraftBukkit start - Fire event when pushing items into other inventories CraftItemStack oitemstack = CraftItemStack.asCraftMirror(stack.copy().split(1)); - IInventory iinventory = HopperTileEntity.getContainerAt(world, pos.relative(enumfacing)); - org.bukkit.inventory.Inventory destinationInventory; - // Have to special case large chests as they work oddly - if (iinventory instanceof ChestBlock.DoubleInventory) { - destinationInventory = new CraftInventoryDoubleChest((ChestBlock.DoubleInventory) iinventory); - } else { - destinationInventory = InventoryOwner.get(iinventory).getInventory(); - } + org.bukkit.inventory.InventoryHolder owner = InventoryOwner.get((TileEntity) dropper); + org.bukkit.inventory.Inventory destinationInventory = owner != null ? owner.getInventory() : InventoryOwner.inventoryFromForge(itemHandler); InventoryMoveItemEvent event = new InventoryMoveItemEvent(dropper.getOwner().getInventory(), oitemstack.clone(), destinationInventory, true); Bukkit.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -149,19 +143,9 @@ public static boolean insertHook(HopperTileEntity hopper) // CraftBukkit start - Call event when pushing items into other inventories CraftItemStack oitemstack = CraftItemStack.asCraftMirror(hopper.removeItem(i, hopper.level.spigotConfig.hopperAmount)); // Spigot - IInventory iinventory = hopper.getAttachedContainer(); - Inventory destinationInventory; - // Have to special case large chests as they work oddly - if (iinventory instanceof DoubleSidedInventory) { - destinationInventory = new org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventoryDoubleChest((DoubleSidedInventory) iinventory); - } else { - InventoryHolder owner = InventoryOwner.get(iinventory); - destinationInventory = (owner != null ? owner.getInventory() : new CraftCustomInventory(iinventory).getInventory()); - } - - InventoryHolder owner = InventoryOwner.get((TileEntity) hopper); - Inventory hopperOwner = (owner != null ? owner.getInventory() : new CraftCustomInventory(hopper).getInventory()); - InventoryMoveItemEvent event = new InventoryMoveItemEvent(hopperOwner, oitemstack.clone(), destinationInventory, true); + org.bukkit.inventory.InventoryHolder owner = InventoryOwner.get((TileEntity) hopper); + org.bukkit.inventory.Inventory destinationInventory = owner != null ? owner.getInventory() : InventoryOwner.inventoryFromForge(itemHandler); + InventoryMoveItemEvent event = new InventoryMoveItemEvent(hopper.getOwner().getInventory(), oitemstack.clone(), destinationInventory, true); Bukkit.getPluginManager().callEvent(event); if (event.isCancelled()) { hopper.setItem(i, originalSlotContents); diff --git a/src/main/java/net/minecraftforge/items/wrapper/CombinedInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/CombinedInvWrapper.java index a932337876..473d74f8bc 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/CombinedInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/CombinedInvWrapper.java @@ -18,6 +18,10 @@ public class CombinedInvWrapper implements IItemHandlerModifiable protected final int[] baseIndex; // index-offsets of the different handlers protected final int slotCount; // number of total slots + public IItemHandlerModifiable[] itemHandler() { + return itemHandler; + } + public CombinedInvWrapper(IItemHandlerModifiable... itemHandler) { this.itemHandler = itemHandler;