From 13539c3eada1dec945982f6acd60593f7cfdf532 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 4 Mar 2016 20:43:56 +0100 Subject: [PATCH 1/8] First start on 1.9, do with it whatever you want --- build.gradle | 12 +++++----- .../vanilla/NeptuneVanilla.java | 6 +++-- .../server/IMixinS23PacketBlockChange.java | 2 +- .../command/MixinServerCommandManager.java | 12 +++++----- .../mixin/minecraft/entity/MixinEntity.java | 2 +- .../entity/player/MixinEntityPlayer.java | 6 ++--- .../server/MixinS23PacketBlockChange.java | 6 ++--- .../pathfinding/MixinPathNavigate.java | 2 +- .../server/MixinMinecraftServer.java | 6 ++--- .../management/MixinItemInWorldManager.java | 4 ++-- .../minecraft/tileentity/MixinTileEntity.java | 2 +- .../mixin/minecraft/util/MixinChatStyle.java | 23 ++++++++++--------- .../wrapper/commandsys/NeptuneCommand.java | 7 +++--- src/main/resources/vanilla_at.cfg | 12 +++++----- 14 files changed, 53 insertions(+), 49 deletions(-) diff --git a/build.gradle b/build.gradle index aa14282..dcfe64f 100644 --- a/build.gradle +++ b/build.gradle @@ -13,10 +13,10 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-20160116.192356-17' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT' classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3' classpath 'org.spongepowered:mixingradle:0.3-SNAPSHOT' - classpath 'gradle.plugin.net.minecrell:licenser:0.1.1' + classpath 'gradle.plugin.net.minecrell:licenser:0.1.2' } } @@ -62,7 +62,7 @@ ext.apiVersion = '1.2.1-SNAPSHOT' dependencies { compile "net.canarymod:CanaryLib:$apiVersion" - compile('org.spongepowered:mixin:0.5.1-SNAPSHOT') { + compile('org.spongepowered:mixin:0.5.3-SNAPSHOT') { exclude module: 'launchwrapper' exclude module: 'guava' } @@ -80,8 +80,8 @@ license { } minecraft { - version = '1.8.9' - mappings = 'snapshot_20160216' + version = '1.9' + mappings = 'snapshot_20160304' runDir = 'run' tweakClass = 'org.neptunepowered.vanilla.launch.NeptuneServerTweaker' @@ -118,7 +118,7 @@ jar { manifest { attributes( 'Main-Class': 'org.neptunepowered.vanilla.launch.NeptuneServerMain', - 'Class-Path': 'minecraft_server.1.8.9.jar libraries/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar' + 'Class-Path': 'minecraft_server.1.9.jar libraries/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar' ) } } diff --git a/src/main/java/org/neptunepowered/vanilla/NeptuneVanilla.java b/src/main/java/org/neptunepowered/vanilla/NeptuneVanilla.java index 78c8c03..7c3a883 100644 --- a/src/main/java/org/neptunepowered/vanilla/NeptuneVanilla.java +++ b/src/main/java/org/neptunepowered/vanilla/NeptuneVanilla.java @@ -24,7 +24,6 @@ package org.neptunepowered.vanilla; import net.canarymod.Canary; -import net.canarymod.api.Server; import net.minecraft.server.MinecraftServer; import java.io.File; @@ -36,7 +35,10 @@ public static void main(String[] args) throws IOException { MinecraftServer.main(args); new File("config").mkdirs(); // TODO: Please fix this properly initNeptune(); - Canary.setServer((Server) MinecraftServer.getServer()); + } + + public static MinecraftServer getServer() { + return (MinecraftServer) Canary.getServer(); } private static void initNeptune() { diff --git a/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java b/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java index 70ee5a4..c840f8d 100644 --- a/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java +++ b/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java @@ -24,7 +24,7 @@ package org.neptunepowered.vanilla.interfaces.minecraft.network.play.server; import net.minecraft.block.state.IBlockState; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; public interface IMixinS23PacketBlockChange { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java index 57f1c76..d7e9902 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java @@ -31,9 +31,9 @@ import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.command.ServerCommandManager; -import net.minecraft.util.BlockPos; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextComponentTranslation; +import net.minecraft.util.text.TextFormatting; import org.neptunepowered.vanilla.Neptune; import org.neptunepowered.vanilla.interfaces.minecraft.command.IMixinServerCommandManager; import org.neptunepowered.vanilla.wrapper.commandsys.NeptuneCommand; @@ -44,7 +44,7 @@ import java.util.Map; @Mixin(ServerCommandManager.class) -public class MixinServerCommandManager extends CommandHandler implements IMixinServerCommandManager { +public abstract class MixinServerCommandManager extends CommandHandler implements IMixinServerCommandManager { private List earlyRegisterCommands = Lists.newArrayList(); @@ -65,8 +65,8 @@ public int executeCommand(ICommandSender sender, String command) { boolean exists = Canary.commands().parseCommand((MessageReceiver) sender, commandName, args); if (!exists) { - ChatComponentTranslation chatcomponenttranslation = new ChatComponentTranslation("commands.generic.notFound", new Object[0]); - chatcomponenttranslation.getChatStyle().setColor(EnumChatFormatting.RED); + TextComponentTranslation chatcomponenttranslation = new TextComponentTranslation("commands.generic.notFound", new Object[0]); + chatcomponenttranslation.getChatStyle().setColor(TextFormatting.RED); sender.addChatMessage(chatcomponenttranslation); } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java index 0c90622..aea91ff 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java @@ -34,7 +34,7 @@ import net.canarymod.api.world.position.Location; import net.canarymod.api.world.position.Position; import net.canarymod.api.world.position.Vector3D; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; import org.spongepowered.asm.mixin.Intrinsic; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/player/MixinEntityPlayer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/player/MixinEntityPlayer.java index a8d067d..29d9ab9 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/player/MixinEntityPlayer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/player/MixinEntityPlayer.java @@ -33,8 +33,8 @@ import net.canarymod.hook.player.BedEnterHook; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.PlayerCapabilities; -import net.minecraft.util.BlockPos; -import net.minecraft.util.IChatComponent; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.ITextComponent; import org.neptunepowered.vanilla.mixin.minecraft.entity.MixinEntityLivingBase; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -48,7 +48,7 @@ public abstract class MixinEntityPlayer extends MixinEntityLivingBase implements @Shadow public PlayerCapabilities capabilities; @Shadow - public abstract IChatComponent shadow$getDisplayName(); + public abstract ITextComponent shadow$getDisplayName(); @Shadow protected GameProfile getGameProfile() { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java index 8b2de3c..fc884e5 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java @@ -24,13 +24,13 @@ package org.neptunepowered.vanilla.mixin.minecraft.network.play.server; import net.minecraft.block.state.IBlockState; -import net.minecraft.network.play.server.S23PacketBlockChange; -import net.minecraft.util.BlockPos; +import net.minecraft.network.play.server.SPacketBlockChange; +import net.minecraft.util.math.BlockPos; import org.neptunepowered.vanilla.interfaces.minecraft.network.play.server.IMixinS23PacketBlockChange; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(S23PacketBlockChange.class) +@Mixin(SPacketBlockChange.class) public class MixinS23PacketBlockChange implements IMixinS23PacketBlockChange { @Shadow private BlockPos blockPosition; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/pathfinding/MixinPathNavigate.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/pathfinding/MixinPathNavigate.java index d7b8c36..7e42172 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/pathfinding/MixinPathNavigate.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/pathfinding/MixinPathNavigate.java @@ -31,7 +31,7 @@ import net.minecraft.entity.ai.attributes.IAttributeInstance; import net.minecraft.pathfinding.PathEntity; import net.minecraft.pathfinding.PathNavigate; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java index 8c95032..61717b1 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java @@ -44,7 +44,7 @@ import net.minecraft.item.crafting.IRecipe; import net.minecraft.network.ServerStatusResponse; import net.minecraft.server.MinecraftServer; -import net.minecraft.server.management.ServerConfigurationManager; +import net.minecraft.server.management.PlayerList; import org.neptunepowered.vanilla.wrapper.inventory.recipes.NeptuneRecipe; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; @@ -60,7 +60,7 @@ public abstract class MixinMinecraftServer implements Server { @Shadow public long[] tickTimeArray; @Shadow private int tickCounter; @Shadow private boolean serverRunning; - @Shadow private ServerConfigurationManager serverConfigManager; + @Shadow private PlayerList serverConfigManager; @Shadow private ServerStatusResponse statusResponse; @Shadow @@ -349,4 +349,4 @@ public void showTitle(ChatComponent title, ChatComponent subtitle) { public String getServerModName() { return "NeptuneVanilla"; } -} \ No newline at end of file +} diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinItemInWorldManager.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinItemInWorldManager.java index 2d400f1..4ddf097 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinItemInWorldManager.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinItemInWorldManager.java @@ -27,7 +27,7 @@ import net.canarymod.api.entity.living.humanoid.Player; import net.canarymod.hook.player.GameModeChangeHook; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.server.management.ItemInWorldManager; +import net.minecraft.server.management.PlayerInteractionManager; import net.minecraft.world.WorldSettings; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -35,7 +35,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -@Mixin(ItemInWorldManager.class) +@Mixin(PlayerInteractionManager.class) public class MixinItemInWorldManager { @Shadow public EntityPlayerMP thisPlayerMP; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/tileentity/MixinTileEntity.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/tileentity/MixinTileEntity.java index 6d925e7..4c0c039 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/tileentity/MixinTileEntity.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/tileentity/MixinTileEntity.java @@ -28,7 +28,7 @@ import net.canarymod.api.world.blocks.Block; import net.canarymod.api.world.blocks.TileEntity; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java index 9d44d53..8c74d90 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java @@ -27,25 +27,26 @@ import net.canarymod.api.chat.ChatStyle; import net.canarymod.api.chat.ClickEvent; import net.canarymod.api.chat.HoverEvent; -import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.text.Style; +import net.minecraft.util.text.TextFormatting; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(net.minecraft.util.ChatStyle.class) +@Mixin(Style.class) public abstract class MixinChatStyle implements ChatStyle { - @Shadow private net.minecraft.util.ChatStyle parentStyle; - @Shadow private EnumChatFormatting color; + @Shadow private Style parentStyle; + @Shadow private TextFormatting color; @Shadow private Boolean bold; @Shadow private Boolean italic; @Shadow private Boolean underlined; @Shadow private Boolean strikethrough; @Shadow private Boolean obfuscated; - @Shadow private net.minecraft.event.ClickEvent chatClickEvent; - @Shadow private net.minecraft.event.HoverEvent chatHoverEvent; + @Shadow private net.minecraft.util.text.event.ClickEvent chatClickEvent; + @Shadow private net.minecraft.util.text.event.HoverEvent chatHoverEvent; @Shadow - public abstract net.minecraft.util.ChatStyle createShallowCopy(); + public abstract Style createShallowCopy(); @Override public ChatFormatting getColor() { @@ -92,7 +93,7 @@ public HoverEvent getChatHoverEvent() { @Override public ChatStyle setColor(ChatFormatting color) { - this.color = (EnumChatFormatting) (Object) color; + this.color = (TextFormatting) (Object) color; return this; } @@ -128,19 +129,19 @@ public ChatStyle setObfuscated(boolean obfuscated) { @Override public ChatStyle setChatClickEvent(ClickEvent clickEvent) { - this.chatClickEvent = (net.minecraft.event.ClickEvent) clickEvent; + this.chatClickEvent = (net.minecraft.util.text.event.ClickEvent) clickEvent; return this; } @Override public ChatStyle setChatHoverEvent(HoverEvent hoverEvent) { - this.chatHoverEvent = (net.minecraft.event.HoverEvent) hoverEvent; + this.chatHoverEvent = (net.minecraft.util.text.event.HoverEvent) hoverEvent; return this; } @Override public ChatStyle setParentStyle(ChatStyle chatStyle) { - parentStyle = (net.minecraft.util.ChatStyle) chatStyle; + parentStyle = (Style) chatStyle; return this; } diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptuneCommand.java b/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptuneCommand.java index 95ebe70..3258c6e 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptuneCommand.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptuneCommand.java @@ -32,8 +32,9 @@ import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; import org.neptunepowered.vanilla.Neptune; +import org.neptunepowered.vanilla.NeptuneVanilla; import java.util.List; @@ -48,7 +49,7 @@ public NeptuneCommand(final ICommand command) { new TabCompleteDispatch() { @Override public List complete(MessageReceiver msgrec, String[] args) throws TabCompleteException { - return command.addTabCompletionOptions((ICommandSender) msgrec, args, BlockPos.ORIGIN); + return command.getTabCompletionOptions(NeptuneVanilla.getServer(), (ICommandSender) msgrec, args, BlockPos.ORIGIN); } }); this.command = command; @@ -57,7 +58,7 @@ public List complete(MessageReceiver msgrec, String[] args) throws TabCo @Override protected void execute(MessageReceiver caller, String[] parameters) { try { - this.command.processCommand((ICommandSender) caller, parameters); + this.command.execute(NeptuneVanilla.getServer(), (ICommandSender) caller, parameters); } catch (CommandException e) { Canary.log.error("Eh, something has broken :(", e); } diff --git a/src/main/resources/vanilla_at.cfg b/src/main/resources/vanilla_at.cfg index 49de82c..112a33d 100644 --- a/src/main/resources/vanilla_at.cfg +++ b/src/main/resources/vanilla_at.cfg @@ -2,14 +2,14 @@ public-f net.minecraft.item.ItemStack public net.minecraft.item.Item func_77656_e(I)Lnet/minecraft/item/Item; # setMaxDamage public-f net.minecraft.pathfinding.PathNavigate field_75512_e # pathSearchRange -public net.minecraft.util.EnumChatFormatting field_96329_z # formattingCode +#public net.minecraft.util.EnumChatFormatting field_96329_z # formattingCode public net.minecraft.network.handshake.client.C00Handshake field_149598_b # ip public net.minecraft.network.handshake.client.C00Handshake field_149599_c # port -public net.minecraft.network.play.server.S23PacketBlockChange field_179828_a # blockPosition -public net.minecraft.network.play.server.S23PacketBlockChange field_148883_d # blockState -public net.minecraft.network.play.server.S38PacketPlayerListItem field_179770_a # action -public net.minecraft.network.play.server.S38PacketPlayerListItem field_179769_b # players -public net.minecraft.server.management.ServerConfigurationManager field_148546_d # logger +#public net.minecraft.network.play.server.S23PacketBlockChange field_179828_a # blockPosition +#public net.minecraft.network.play.server.S23PacketBlockChange field_148883_d # blockState +#public net.minecraft.network.play.server.S38PacketPlayerListItem field_179770_a # action +#public net.minecraft.network.play.server.S38PacketPlayerListItem field_179769_b # players +#public net.minecraft.server.management.ServerConfigurationManager field_148546_d # logger # recipes public net.minecraft.item.crafting.ShapedRecipes field_77576_b # recipeWidth From bd9123613189bf4c41bfbddbe43529eea07dbf86 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Fri, 4 Mar 2016 20:43:40 +0000 Subject: [PATCH 2/8] Update all the wrapper implementation --- .../factory/NeptuneAttributeFactory.java | 20 +++++++++---------- .../vanilla/wrapper/NeptuneTranslator.java | 8 ++++---- .../wrapper/chat/NeptuneChatComponent.java | 15 +++++++------- .../wrapper/chat/NeptuneClickEventAction.java | 2 +- .../wrapper/chat/NeptuneHoverEventAction.java | 2 +- .../commandsys/NeptunePlayerSelector.java | 6 +++--- .../packet/NeptuneBlockChangePacket.java | 10 +++++----- .../NeptuneScoreObjectiveCriteria.java | 10 +++++----- src/main/resources/vanilla_at.cfg | 4 ++-- 9 files changed, 38 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAttributeFactory.java b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAttributeFactory.java index d221402..92e010c 100644 --- a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAttributeFactory.java +++ b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAttributeFactory.java @@ -38,16 +38,16 @@ public class NeptuneAttributeFactory implements AttributeFactory { private static Map map = Maps.newHashMap(); static { - map.put(SharedMonsterAttributes.maxHealth.getAttributeUnlocalizedName(), - SharedMonsterAttributes.maxHealth); - map.put(SharedMonsterAttributes.followRange.getAttributeUnlocalizedName(), - SharedMonsterAttributes.followRange); - map.put(SharedMonsterAttributes.knockbackResistance.getAttributeUnlocalizedName(), - SharedMonsterAttributes.knockbackResistance); - map.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), - SharedMonsterAttributes.movementSpeed); - map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - SharedMonsterAttributes.attackDamage); + map.put(SharedMonsterAttributes.MAX_HEALTH.getAttributeUnlocalizedName(), + SharedMonsterAttributes.MAX_HEALTH); + map.put(SharedMonsterAttributes.FOLLOW_RANGE.getAttributeUnlocalizedName(), + SharedMonsterAttributes.FOLLOW_RANGE); + map.put(SharedMonsterAttributes.KNOCKBACK_RESISTANCE.getAttributeUnlocalizedName(), + SharedMonsterAttributes.KNOCKBACK_RESISTANCE); + map.put(SharedMonsterAttributes.MOVEMENT_SPEED.getAttributeUnlocalizedName(), + SharedMonsterAttributes.MOVEMENT_SPEED); + map.put(SharedMonsterAttributes.ATTACK_DAMAGE.getAttributeUnlocalizedName(), + SharedMonsterAttributes.ATTACK_DAMAGE); map.put(EntityZombie.reinforcementChance.getAttributeUnlocalizedName(), EntityZombie.reinforcementChance); diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/NeptuneTranslator.java b/src/main/java/org/neptunepowered/vanilla/wrapper/NeptuneTranslator.java index 82bb1de..b6e54a4 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/NeptuneTranslator.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/NeptuneTranslator.java @@ -24,7 +24,7 @@ package org.neptunepowered.vanilla.wrapper; import net.canarymod.NativeTranslateBridge; -import net.minecraft.util.StatCollector; +import net.minecraft.util.text.translation.I18n; public class NeptuneTranslator extends NativeTranslateBridge { @@ -36,16 +36,16 @@ public static void load() { @Override protected String nativeTranslate(String key) { - return StatCollector.translateToLocal(key); + return I18n.translateToLocal(key); } @Override protected String nativeTranslate(String key, Object... args) { - return StatCollector.translateToLocalFormatted(key, args); + return I18n.translateToLocalFormatted(key, args); } @Override protected boolean nativeCanTranslate(String key) { - return StatCollector.canTranslate(key); + return I18n.canTranslate(key); } } diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java index 77ea847..c49d7c0 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java @@ -26,22 +26,21 @@ import com.google.common.collect.Lists; import net.canarymod.api.chat.ChatComponent; import net.canarymod.api.chat.ChatStyle; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IChatComponent; +import net.minecraft.util.text.ITextComponent; import org.neptunepowered.vanilla.interfaces.minecraft.util.IMixinChatComponentText; import org.neptunepowered.vanilla.util.Wrapper; import java.util.List; -public class NeptuneChatComponent extends Wrapper implements ChatComponent { +public class NeptuneChatComponent extends Wrapper implements ChatComponent { - public NeptuneChatComponent(IChatComponent chatComponent) { + public NeptuneChatComponent(ITextComponent chatComponent) { super(chatComponent); } @Override public ChatComponent setChatStyle(ChatStyle style) { - return (ChatComponent) getHandle().setChatStyle((net.minecraft.util.ChatStyle) style); + return (ChatComponent) getHandle().setChatStyle((net.minecraft.util.text.Style) style); } @Override @@ -51,7 +50,7 @@ public ChatStyle getChatStyle() { @Override public ChatComponent setText(String text) { - if (getHandle() instanceof ChatComponentText) { + if (getHandle() instanceof ITextComponent) { ((IMixinChatComponentText) getHandle()).setText(text); } return this; @@ -80,7 +79,7 @@ public String getFullText() { @Override public List getSiblings() { List components = Lists.newArrayList(); - for (IChatComponent chatComponent : getHandle().getSiblings()) { + for (ITextComponent chatComponent : getHandle().getSiblings()) { components.add(new NeptuneChatComponent(chatComponent)); } return components; @@ -88,7 +87,7 @@ public List getSiblings() { @Override public String serialize() { - return IChatComponent.Serializer.componentToJson(getHandle()); + return ITextComponent.Serializer.componentToJson(getHandle()); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneClickEventAction.java b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneClickEventAction.java index 6e54f77..6909152 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneClickEventAction.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneClickEventAction.java @@ -24,7 +24,7 @@ package org.neptunepowered.vanilla.wrapper.chat; import net.canarymod.api.chat.ClickEventAction; -import net.minecraft.event.ClickEvent; +import net.minecraft.util.text.event.ClickEvent; import org.neptunepowered.vanilla.util.Wrapper; public class NeptuneClickEventAction extends Wrapper implements ClickEventAction { diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneHoverEventAction.java b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneHoverEventAction.java index 00d4b09..3c7c185 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneHoverEventAction.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneHoverEventAction.java @@ -24,7 +24,7 @@ package org.neptunepowered.vanilla.wrapper.chat; import net.canarymod.api.chat.HoverEventAction; -import net.minecraft.event.HoverEvent; +import net.minecraft.util.text.event.HoverEvent; import org.neptunepowered.vanilla.util.Wrapper; public class NeptuneHoverEventAction extends Wrapper implements HoverEventAction { diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptunePlayerSelector.java b/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptunePlayerSelector.java index eabb470..0f22df5 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptunePlayerSelector.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/commandsys/NeptunePlayerSelector.java @@ -35,18 +35,18 @@ public class NeptunePlayerSelector implements PlayerSelector { @Override public Player matchOnePlayer(MessageReceiver caller, String pattern) { - return (Player) net.minecraft.command.PlayerSelector.matchOnePlayer((ICommandSender) caller, pattern); + return (Player) net.minecraft.command.EntitySelector.matchOnePlayer((ICommandSender) caller, pattern); } @Override public Player[] matchPlayers(MessageReceiver caller, String pattern) { - List matches = net.minecraft.command.PlayerSelector + List matches = net.minecraft.command.EntitySelector .matchEntities((ICommandSender) caller, pattern, EntityPlayerMP.class); return (Player[]) matches.toArray(new Player[matches.size()]); } @Override public boolean matchesMultiplePlayers(String pattern) { - return net.minecraft.command.PlayerSelector.matchesMultiplePlayers(pattern); + return net.minecraft.command.EntitySelector.matchesMultiplePlayers(pattern); } } diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java b/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java index bd1f46b..361e4a1 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java @@ -27,13 +27,13 @@ import net.canarymod.api.world.blocks.Block; import net.canarymod.api.world.blocks.BlockType; import net.canarymod.api.world.position.Position; -import net.minecraft.network.play.server.S23PacketBlockChange; -import net.minecraft.util.BlockPos; +import net.minecraft.network.play.server.SPacketBlockChange; +import net.minecraft.util.math.BlockPos; import org.neptunepowered.vanilla.interfaces.minecraft.network.play.server.IMixinS23PacketBlockChange; public class NeptuneBlockChangePacket extends NeptunePacket implements BlockChangePacket { - public NeptuneBlockChangePacket(S23PacketBlockChange handle) { + public NeptuneBlockChangePacket(SPacketBlockChange handle) { super(handle); } @@ -119,7 +119,7 @@ public void setBlock(Block block) { } @Override - public S23PacketBlockChange getHandle() { - return (S23PacketBlockChange) super.getHandle(); + public SPacketBlockChange getHandle() { + return (SPacketBlockChange) super.getHandle(); } } diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/scoreboard/NeptuneScoreObjectiveCriteria.java b/src/main/java/org/neptunepowered/vanilla/wrapper/scoreboard/NeptuneScoreObjectiveCriteria.java index 00cab0d..8f79c55 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/scoreboard/NeptuneScoreObjectiveCriteria.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/scoreboard/NeptuneScoreObjectiveCriteria.java @@ -24,15 +24,14 @@ package org.neptunepowered.vanilla.wrapper.scoreboard; import net.canarymod.api.scoreboard.ScoreObjectiveCriteria; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.scoreboard.IScoreObjectiveCriteria; +import net.minecraft.scoreboard.IScoreCriteria; import org.neptunepowered.vanilla.util.Wrapper; import java.util.List; -public class NeptuneScoreObjectiveCriteria extends Wrapper implements ScoreObjectiveCriteria { +public class NeptuneScoreObjectiveCriteria extends Wrapper implements ScoreObjectiveCriteria { - public NeptuneScoreObjectiveCriteria(IScoreObjectiveCriteria handle) { + public NeptuneScoreObjectiveCriteria(IScoreCriteria handle) { super(handle); } @@ -44,7 +43,8 @@ public String getProtocolName() { @Override @SuppressWarnings("unchecked") public int getScore(List list) { - return this.getHandle().setScore((List) list); + //return this.getHandle().setScore((List) list); + return 0; // TODO: } @Override diff --git a/src/main/resources/vanilla_at.cfg b/src/main/resources/vanilla_at.cfg index 112a33d..a4f3eec 100644 --- a/src/main/resources/vanilla_at.cfg +++ b/src/main/resources/vanilla_at.cfg @@ -5,8 +5,8 @@ public-f net.minecraft.pathfinding.PathNavigate field_75512_e # pathSearchRange #public net.minecraft.util.EnumChatFormatting field_96329_z # formattingCode public net.minecraft.network.handshake.client.C00Handshake field_149598_b # ip public net.minecraft.network.handshake.client.C00Handshake field_149599_c # port -#public net.minecraft.network.play.server.S23PacketBlockChange field_179828_a # blockPosition -#public net.minecraft.network.play.server.S23PacketBlockChange field_148883_d # blockState +public net.minecraft.network.play.server.SPacketBlockChange field_179828_a # blockPosition +public net.minecraft.network.play.server.SPacketBlockChange field_148883_d # blockState #public net.minecraft.network.play.server.S38PacketPlayerListItem field_179770_a # action #public net.minecraft.network.play.server.S38PacketPlayerListItem field_179769_b # players #public net.minecraft.server.management.ServerConfigurationManager field_148546_d # logger From f2633bcf2c6fc842429cd48b39bb5b576bb5bba4 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Wed, 20 Apr 2016 22:23:53 +0100 Subject: [PATCH 3/8] Work on some factory classes --- .../vanilla/factory/NeptuneAIFactory.java | 4 +- .../factory/NeptuneChatComponentFactory.java | 80 +++++++++---------- .../vanilla/factory/NeptuneEntityFactory.java | 10 +-- .../vanilla/launch/NeptuneServerMain.java | 4 +- .../vanilla/mixin/canary/MixinCanary.java | 2 +- .../canary/commandsys/MixinCanaryCommand.java | 31 ++++--- src/main/resources/vanilla_at.cfg | 2 +- 7 files changed, 70 insertions(+), 63 deletions(-) diff --git a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAIFactory.java b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAIFactory.java index ab55464..db8b175 100644 --- a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAIFactory.java +++ b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneAIFactory.java @@ -63,14 +63,14 @@ import net.canarymod.api.entity.living.monster.EntityMob; import net.canarymod.api.entity.living.monster.RangedAttackMob; import net.canarymod.api.factory.AIFactory; -import net.minecraft.entity.ai.EntityAIArrowAttack; +import net.minecraft.entity.ai.EntityAIAttackRanged; public class NeptuneAIFactory implements AIFactory { @Override public AIArrowAttack newAIArrowAttack(RangedAttackMob mob, double moveSpeed, int attackTimeModifier, int maxRangedAttackTime, int maxAttackDistance) { - return (AIArrowAttack) new EntityAIArrowAttack(null, moveSpeed, attackTimeModifier, maxRangedAttackTime, + return (AIArrowAttack) new EntityAIAttackRanged(null, moveSpeed, attackTimeModifier, maxRangedAttackTime, maxAttackDistance); } diff --git a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneChatComponentFactory.java b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneChatComponentFactory.java index f5ff8c9..2382f32 100644 --- a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneChatComponentFactory.java +++ b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneChatComponentFactory.java @@ -30,9 +30,9 @@ import net.canarymod.api.chat.HoverEvent; import net.canarymod.api.chat.HoverEventAction; import net.canarymod.api.factory.ChatComponentFactory; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TextComponentString; +import net.minecraft.util.text.TextFormatting; import org.neptunepowered.vanilla.wrapper.chat.NeptuneChatComponent; import org.neptunepowered.vanilla.wrapper.chat.NeptuneClickEventAction; import org.neptunepowered.vanilla.wrapper.chat.NeptuneHoverEventAction; @@ -41,7 +41,7 @@ public class NeptuneChatComponentFactory implements ChatComponentFactory { @Override public ChatComponent newChatComponent(String text) { - return new NeptuneChatComponent(new ChatComponentText(text)); + return new NeptuneChatComponent(new TextComponentString(text)); } @Override @@ -56,17 +56,17 @@ public String decompileChatComponent(ChatComponent chatComponent) { @Override public ChatComponent deserialize(String json) { - return new NeptuneChatComponent(IChatComponent.Serializer.jsonToComponent(json)); + return new NeptuneChatComponent(ITextComponent.Serializer.jsonToComponent(json)); } @Override public ChatFormatting getFormattingByName(String name) { - return (ChatFormatting) (Object) EnumChatFormatting.getValueByName(name); + return (ChatFormatting) (Object) TextFormatting.getValueByName(name); } @Override public ChatFormatting getStyleByChar(char charcode) { - for (EnumChatFormatting chatFormatting : EnumChatFormatting.values()) { + for (TextFormatting chatFormatting : TextFormatting.values()) { if (chatFormatting.formattingCode == charcode) { return (ChatFormatting) (Object) chatFormatting; } @@ -76,167 +76,167 @@ public ChatFormatting getStyleByChar(char charcode) { @Override public ChatFormatting colorBlack() { - return (ChatFormatting) (Object) EnumChatFormatting.BLACK; + return (ChatFormatting) (Object) TextFormatting.BLACK; } @Override public ChatFormatting colorDarkBlue() { - return (ChatFormatting) (Object) EnumChatFormatting.DARK_BLUE; + return (ChatFormatting) (Object) TextFormatting.DARK_BLUE; } @Override public ChatFormatting colorDarkGreen() { - return (ChatFormatting) (Object) EnumChatFormatting.DARK_GREEN; + return (ChatFormatting) (Object) TextFormatting.DARK_GREEN; } @Override public ChatFormatting colorDarkAqua() { - return (ChatFormatting) (Object) EnumChatFormatting.DARK_AQUA; + return (ChatFormatting) (Object) TextFormatting.DARK_AQUA; } @Override public ChatFormatting colorDarkRed() { - return (ChatFormatting) (Object) EnumChatFormatting.DARK_RED; + return (ChatFormatting) (Object) TextFormatting.DARK_RED; } @Override public ChatFormatting colorDarkPurple() { - return (ChatFormatting) (Object) EnumChatFormatting.DARK_PURPLE; + return (ChatFormatting) (Object) TextFormatting.DARK_PURPLE; } @Override public ChatFormatting colorGold() { - return (ChatFormatting) (Object) EnumChatFormatting.GOLD; + return (ChatFormatting) (Object) TextFormatting.GOLD; } @Override public ChatFormatting colorGray() { - return (ChatFormatting) (Object) EnumChatFormatting.GRAY; + return (ChatFormatting) (Object) TextFormatting.GRAY; } @Override public ChatFormatting colorDarkGray() { - return (ChatFormatting) (Object) EnumChatFormatting.DARK_GRAY; + return (ChatFormatting) (Object) TextFormatting.DARK_GRAY; } @Override public ChatFormatting colorBlue() { - return (ChatFormatting) (Object) EnumChatFormatting.BLUE; + return (ChatFormatting) (Object) TextFormatting.BLUE; } @Override public ChatFormatting colorGreen() { - return (ChatFormatting) (Object) EnumChatFormatting.GREEN; + return (ChatFormatting) (Object) TextFormatting.GREEN; } @Override public ChatFormatting colorAqua() { - return (ChatFormatting) (Object) EnumChatFormatting.AQUA; + return (ChatFormatting) (Object) TextFormatting.AQUA; } @Override public ChatFormatting colorRed() { - return (ChatFormatting) (Object) EnumChatFormatting.RED; + return (ChatFormatting) (Object) TextFormatting.RED; } @Override public ChatFormatting colorLightPurple() { - return (ChatFormatting) (Object) EnumChatFormatting.LIGHT_PURPLE; + return (ChatFormatting) (Object) TextFormatting.LIGHT_PURPLE; } @Override public ChatFormatting colorYellow() { - return (ChatFormatting) (Object) EnumChatFormatting.YELLOW; + return (ChatFormatting) (Object) TextFormatting.YELLOW; } @Override public ChatFormatting colorWhite() { - return (ChatFormatting) (Object) EnumChatFormatting.WHITE; + return (ChatFormatting) (Object) TextFormatting.WHITE; } @Override public ChatFormatting styleObfuscated() { - return (ChatFormatting) (Object) EnumChatFormatting.OBFUSCATED; + return (ChatFormatting) (Object) TextFormatting.OBFUSCATED; } @Override public ChatFormatting styleBold() { - return (ChatFormatting) (Object) EnumChatFormatting.BOLD; + return (ChatFormatting) (Object) TextFormatting.BOLD; } @Override public ChatFormatting styleStrikethrough() { - return (ChatFormatting) (Object) EnumChatFormatting.STRIKETHROUGH; + return (ChatFormatting) (Object) TextFormatting.STRIKETHROUGH; } @Override public ChatFormatting styleUnderline() { - return (ChatFormatting) (Object) EnumChatFormatting.UNDERLINE; + return (ChatFormatting) (Object) TextFormatting.UNDERLINE; } @Override public ChatFormatting styleItalic() { - return (ChatFormatting) (Object) EnumChatFormatting.ITALIC; + return (ChatFormatting) (Object) TextFormatting.ITALIC; } @Override public ChatFormatting styleReset() { - return (ChatFormatting) (Object) EnumChatFormatting.RESET; + return (ChatFormatting) (Object) TextFormatting.RESET; } @Override public ClickEvent newClickEvent(ClickEventAction action, String value) { - return (ClickEvent) new net.minecraft.event.ClickEvent(((NeptuneClickEventAction) action).getHandle(), value); + return (ClickEvent) new net.minecraft.util.text.event.ClickEvent(((NeptuneClickEventAction) action).getHandle(), value); } @Override public ClickEventAction getClickEventActionByName(String name) { - return new NeptuneClickEventAction(net.minecraft.event.ClickEvent.Action.getValueByCanonicalName(name)); + return new NeptuneClickEventAction(net.minecraft.util.text.event.ClickEvent.Action.getValueByCanonicalName(name)); } @Override public ClickEventAction getOpenURL() { - return new NeptuneClickEventAction(net.minecraft.event.ClickEvent.Action.OPEN_URL); + return new NeptuneClickEventAction(net.minecraft.util.text.event.ClickEvent.Action.OPEN_URL); } @Override public ClickEventAction getOpenFile() { - return new NeptuneClickEventAction(net.minecraft.event.ClickEvent.Action.OPEN_FILE); + return new NeptuneClickEventAction(net.minecraft.util.text.event.ClickEvent.Action.OPEN_FILE); } @Override public ClickEventAction getRunCommand() { - return new NeptuneClickEventAction(net.minecraft.event.ClickEvent.Action.RUN_COMMAND); + return new NeptuneClickEventAction(net.minecraft.util.text.event.ClickEvent.Action.RUN_COMMAND); } @Override public ClickEventAction getSuggestCommand() { - return new NeptuneClickEventAction(net.minecraft.event.ClickEvent.Action.SUGGEST_COMMAND); + return new NeptuneClickEventAction(net.minecraft.util.text.event.ClickEvent.Action.SUGGEST_COMMAND); } @Override public HoverEvent newHoverEvent(HoverEventAction action, ChatComponent value) { - return (HoverEvent) new net.minecraft.event.HoverEvent(((NeptuneHoverEventAction) action).getHandle(), + return (HoverEvent) new net.minecraft.util.text.event.HoverEvent(((NeptuneHoverEventAction) action).getHandle(), ((NeptuneChatComponent) value).getHandle()); } @Override public HoverEventAction getHoverEventActionByName(String name) { - return new NeptuneHoverEventAction(net.minecraft.event.HoverEvent.Action.getValueByCanonicalName(name)); + return new NeptuneHoverEventAction(net.minecraft.util.text.event.HoverEvent.Action.getValueByCanonicalName(name)); } @Override public HoverEventAction getShowText() { - return new NeptuneHoverEventAction(net.minecraft.event.HoverEvent.Action.SHOW_TEXT); + return new NeptuneHoverEventAction(net.minecraft.util.text.event.HoverEvent.Action.SHOW_TEXT); } @Override public HoverEventAction getShowAchievement() { - return new NeptuneHoverEventAction(net.minecraft.event.HoverEvent.Action.SHOW_ACHIEVEMENT); + return new NeptuneHoverEventAction(net.minecraft.util.text.event.HoverEvent.Action.SHOW_ACHIEVEMENT); } @Override public HoverEventAction getShowItem() { - return new NeptuneHoverEventAction(net.minecraft.event.HoverEvent.Action.SHOW_ITEM); + return new NeptuneHoverEventAction(net.minecraft.util.text.event.HoverEvent.Action.SHOW_ITEM); } } diff --git a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneEntityFactory.java b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneEntityFactory.java index dfeeb79..dfbec8c 100644 --- a/src/main/java/org/neptunepowered/vanilla/factory/NeptuneEntityFactory.java +++ b/src/main/java/org/neptunepowered/vanilla/factory/NeptuneEntityFactory.java @@ -39,8 +39,6 @@ import net.canarymod.api.world.World; import net.canarymod.api.world.position.Location; import net.minecraft.entity.EntityLeashKnot; -import net.minecraft.entity.EntityMinecartCommandBlock; -import net.minecraft.entity.ai.EntityMinecartMobSpawner; import net.minecraft.entity.boss.EntityDragon; import net.minecraft.entity.boss.EntityWither; import net.minecraft.entity.effect.EntityLightningBolt; @@ -54,9 +52,11 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItemFrame; import net.minecraft.entity.item.EntityMinecartChest; +import net.minecraft.entity.item.EntityMinecartCommandBlock; import net.minecraft.entity.item.EntityMinecartEmpty; import net.minecraft.entity.item.EntityMinecartFurnace; import net.minecraft.entity.item.EntityMinecartHopper; +import net.minecraft.entity.item.EntityMinecartMobSpawner; import net.minecraft.entity.item.EntityMinecartTNT; import net.minecraft.entity.item.EntityPainting; import net.minecraft.entity.item.EntityTNTPrimed; @@ -91,13 +91,13 @@ import net.minecraft.entity.passive.EntitySquid; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.entity.projectile.EntityFishHook; import net.minecraft.entity.projectile.EntityLargeFireball; import net.minecraft.entity.projectile.EntityPotion; import net.minecraft.entity.projectile.EntitySmallFireball; import net.minecraft.entity.projectile.EntitySnowball; +import net.minecraft.entity.projectile.EntityTippedArrow; import net.minecraft.entity.projectile.EntityWitherSkull; public class NeptuneEntityFactory implements EntityFactory { @@ -128,7 +128,7 @@ public Entity newEntity(EntityType type, World world) { case ARMORSTAND: return (Entity) new EntityArmorStand((net.minecraft.world.World) world); case ARROW: - return (Entity) new EntityArrow((net.minecraft.world.World) world); + return (Entity) new EntityTippedArrow((net.minecraft.world.World) world); case BAT: return (Entity) new EntityBat((net.minecraft.world.World) world); case BLACKSMITH: @@ -215,7 +215,7 @@ public Entity newEntity(EntityType type, World world) { librarian.setProfession(Villager.Profession.LIBRARIAN); return librarian; case LIGHTNINGBOLT: - return (Entity) new EntityLightningBolt((net.minecraft.world.World) world, 0, 0, 0); + return (Entity) new EntityLightningBolt((net.minecraft.world.World) world, 0, 0, 0, true); case MAGMACUBE: return (Entity) new EntityMagmaCube((net.minecraft.world.World) world); case MOBSPAWNERMINECART: diff --git a/src/main/java/org/neptunepowered/vanilla/launch/NeptuneServerMain.java b/src/main/java/org/neptunepowered/vanilla/launch/NeptuneServerMain.java index 7d1af59..a6af435 100644 --- a/src/main/java/org/neptunepowered/vanilla/launch/NeptuneServerMain.java +++ b/src/main/java/org/neptunepowered/vanilla/launch/NeptuneServerMain.java @@ -43,8 +43,8 @@ public class NeptuneServerMain { private static final String LIBRARIES_DIR = "libraries"; - private static final String MINECRAFT_SERVER_LOCAL = "minecraft_server.1.8.9.jar"; - private static final String MINECRAFT_SERVER_REMOTE = "https://s3.amazonaws.com/Minecraft.Download/versions/1.8.9/minecraft_server.1.8.9.jar"; + private static final String MINECRAFT_SERVER_LOCAL = "minecraft_server.1.9.jar"; + private static final String MINECRAFT_SERVER_REMOTE = "https://s3.amazonaws.com/Minecraft.Download/versions/1.8.9/minecraft_server.1.9.jar"; private static final String LAUNCHWRAPPER_PATH = "/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar"; private static final String LAUNCHWRAPPER_LOCAL = LIBRARIES_DIR + LAUNCHWRAPPER_PATH; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/canary/MixinCanary.java b/src/main/java/org/neptunepowered/vanilla/mixin/canary/MixinCanary.java index 44004a3..e308025 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/canary/MixinCanary.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/canary/MixinCanary.java @@ -48,7 +48,7 @@ public static String getImplementationTitle() { */ @Overwrite public static String getImplementationVersion() { - return "1.8.9-1.2.1-SNAPSHOT"; + return "1.9-1.2.1-SNAPSHOT"; } @Overwrite diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java b/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java index 007d2e4..a96a466 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java @@ -23,17 +23,18 @@ */ package org.neptunepowered.vanilla.mixin.canary.commandsys; -import com.google.common.collect.Lists; import net.canarymod.chat.MessageReceiver; import net.canarymod.commandsys.CanaryCommand; import net.canarymod.commandsys.Command; import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; -import net.minecraft.util.BlockPos; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import java.util.Arrays; import java.util.List; @Mixin(CanaryCommand.class) @@ -59,32 +60,38 @@ public String getCommandName() { } @Override - public String getCommandUsage(ICommandSender sender) { + public String getCommandUsage(ICommandSender iCommandSender) { return this.getLocaleDescription(); } @Override - public List getCommandAliases() { - return Lists.newArrayList(this.meta.aliases()); + public List getCommandAliases() { + return Arrays.asList(this.meta.aliases()); } @Override - public void processCommand(ICommandSender sender, String[] args) throws CommandException { - this.parseCommand((MessageReceiver) sender, args); + public void execute(MinecraftServer minecraftServer, ICommandSender iCommandSender, String[] strings) + throws CommandException { + this.parseCommand((MessageReceiver) iCommandSender, strings); } @Override - public boolean canCommandSenderUseCommand(ICommandSender sender) { - return this.canUse((MessageReceiver) sender); + public boolean checkPermission(MinecraftServer minecraftServer, ICommandSender iCommandSender) { + return this.canUse((MessageReceiver) iCommandSender); } @Override - public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { - return this.tabComplete((MessageReceiver) sender, args); + public List getTabCompletionOptions(MinecraftServer minecraftServer, ICommandSender iCommandSender, + String[] strings, BlockPos blockPos) { + return this.tabComplete((MessageReceiver) iCommandSender, strings); } @Override - public boolean isUsernameIndex(String[] args, int index) { + public boolean isUsernameIndex(String[] strings, int i) { return false; } + + @Override + @Shadow + public abstract int compareTo(ICommand o); } diff --git a/src/main/resources/vanilla_at.cfg b/src/main/resources/vanilla_at.cfg index a4f3eec..49d6f1f 100644 --- a/src/main/resources/vanilla_at.cfg +++ b/src/main/resources/vanilla_at.cfg @@ -2,7 +2,7 @@ public-f net.minecraft.item.ItemStack public net.minecraft.item.Item func_77656_e(I)Lnet/minecraft/item/Item; # setMaxDamage public-f net.minecraft.pathfinding.PathNavigate field_75512_e # pathSearchRange -#public net.minecraft.util.EnumChatFormatting field_96329_z # formattingCode +public net.minecraft.util.text.TextFormatting field_96329_z # formattingCode public net.minecraft.network.handshake.client.C00Handshake field_149598_b # ip public net.minecraft.network.handshake.client.C00Handshake field_149599_c # port public net.minecraft.network.play.server.SPacketBlockChange field_179828_a # blockPosition From 5d4aaf46ed089ad1fc31b180946cf3ebe6ecca10 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Thu, 21 Apr 2016 16:34:49 +0100 Subject: [PATCH 4/8] Update crash reports and the util package --- ...nge.java => IMixinSPacketBlockChange.java} | 2 +- .../IMixinTextComponentString.java} | 4 ++-- .../command/MixinICommandSender.java | 7 ++----- .../minecraft/crash/MixinCrashReport.java | 2 +- .../minecraft/event/MixinClickEvent.java | 4 ++-- .../minecraft/event/MixinHoverEvent.java | 8 ++++---- .../network/MixinNetHandlerPlayServer.java | 10 +++++----- ...ange.java => MixinSPacketBlockChange.java} | 4 ++-- .../mixin/minecraft/potion/MixinPotion.java | 4 ++-- .../MixinServerConfigurationManager.java | 13 ------------- .../network/MixinNetHandlerStatusServer.java | 12 ++++++------ .../minecraft/stats/MixinAchievement.java | 4 ++-- .../minecraft/util/MixinDamageSource.java | 4 ++-- .../util/{ => math}/MixinAxisAlignedBB.java | 4 ++-- .../MixinStyle.java} | 4 ++-- .../MixinTextComponentString.java} | 12 ++++++------ .../MixinTextFormatting.java} | 8 ++++---- .../mixin/minecraft/village/MixinVillage.java | 2 +- .../world/biome/MixinBiomeGenBase.java | 2 +- .../minecraft/world/chunk/MixinChunk.java | 8 ++++---- .../util/converter/RotationsConverter.java | 6 +++--- .../util/helper/CrashReportHelper.java | 19 +++++++++++++------ .../wrapper/chat/NeptuneChatComponent.java | 4 ++-- .../packet/NeptuneBlockChangePacket.java | 4 ++-- .../resources/mixins.vanilla.minecraft.json | 10 +++++----- 25 files changed, 76 insertions(+), 85 deletions(-) rename src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/{IMixinS23PacketBlockChange.java => IMixinSPacketBlockChange.java} (97%) rename src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/{IMixinChatComponentText.java => text/IMixinTextComponentString.java} (91%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/{MixinS23PacketBlockChange.java => MixinSPacketBlockChange.java} (94%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/{ => math}/MixinAxisAlignedBB.java (97%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/{MixinChatStyle.java => text/MixinStyle.java} (97%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/{MixinChatComponentText.java => text/MixinTextComponentString.java} (78%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/{MixinEnumChatFormatting.java => text/MixinTextFormatting.java} (89%) diff --git a/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java b/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinSPacketBlockChange.java similarity index 97% rename from src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java rename to src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinSPacketBlockChange.java index c840f8d..c06d932 100644 --- a/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinS23PacketBlockChange.java +++ b/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/network/play/server/IMixinSPacketBlockChange.java @@ -26,7 +26,7 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.util.math.BlockPos; -public interface IMixinS23PacketBlockChange { +public interface IMixinSPacketBlockChange { IBlockState getBlockState(); diff --git a/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/IMixinChatComponentText.java b/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/text/IMixinTextComponentString.java similarity index 91% rename from src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/IMixinChatComponentText.java rename to src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/text/IMixinTextComponentString.java index 1c23ea3..b72de22 100644 --- a/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/IMixinChatComponentText.java +++ b/src/main/java/org/neptunepowered/vanilla/interfaces/minecraft/util/text/IMixinTextComponentString.java @@ -21,9 +21,9 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package org.neptunepowered.vanilla.interfaces.minecraft.util; +package org.neptunepowered.vanilla.interfaces.minecraft.util.text; -public interface IMixinChatComponentText { +public interface IMixinTextComponentString { void setText(String text); } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinICommandSender.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinICommandSender.java index edabd4e..c9de80b 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinICommandSender.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinICommandSender.java @@ -31,10 +31,7 @@ import net.canarymod.chat.ReceiverType; import net.canarymod.exceptions.InvalidInstanceException; import net.minecraft.command.ICommandSender; -import net.minecraft.command.server.CommandBlockLogic; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.network.rcon.RConConsoleSource; -import net.minecraft.util.ChatComponentText; +import net.minecraft.util.text.TextComponentString; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; import org.spongepowered.asm.mixin.Intrinsic; @@ -75,7 +72,7 @@ default void notice(Iterable messages) { @Override default void message(String message) { - addChatMessage(new ChatComponentText(message)); + addChatMessage(new TextComponentString(message)); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/crash/MixinCrashReport.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/crash/MixinCrashReport.java index 1029d2b..902a89d 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/crash/MixinCrashReport.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/crash/MixinCrashReport.java @@ -39,6 +39,6 @@ public abstract class MixinCrashReport { @Inject(method = "populateEnvironment", at = @At("RETURN")) private void onPopulateEnvironment(CallbackInfo ci) { - this.theReportCategory.addCrashSection("Canary Plugins", CrashReportHelper.createCrashSectionMessage()); + this.theReportCategory.addCrashSectionCallable("Canary Plugins", CrashReportHelper.createCrashSectionMessage()); } } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinClickEvent.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinClickEvent.java index 905c6c2..20bd2d3 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinClickEvent.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinClickEvent.java @@ -29,10 +29,10 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(net.minecraft.event.ClickEvent.class) +@Mixin(net.minecraft.util.text.event.ClickEvent.class) public abstract class MixinClickEvent implements ClickEvent { - @Shadow private net.minecraft.event.ClickEvent.Action action; + @Shadow private net.minecraft.util.text.event.ClickEvent.Action action; @Override public ClickEventAction getAction() { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinHoverEvent.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinHoverEvent.java index d2b45a0..2598847 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinHoverEvent.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/event/MixinHoverEvent.java @@ -26,17 +26,17 @@ import net.canarymod.api.chat.ChatComponent; import net.canarymod.api.chat.HoverEvent; import net.canarymod.api.chat.HoverEventAction; -import net.minecraft.util.IChatComponent; +import net.minecraft.util.text.ITextComponent; import org.neptunepowered.vanilla.wrapper.chat.NeptuneChatComponent; import org.neptunepowered.vanilla.wrapper.chat.NeptuneHoverEventAction; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(net.minecraft.event.HoverEvent.class) +@Mixin(net.minecraft.util.text.event.HoverEvent.class) public class MixinHoverEvent implements HoverEvent { - @Shadow private net.minecraft.event.HoverEvent.Action action; - @Shadow private IChatComponent value; + @Shadow private net.minecraft.util.text.event.HoverEvent.Action action; + @Shadow private ITextComponent value; @Override public HoverEventAction getAction() { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/MixinNetHandlerPlayServer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/MixinNetHandlerPlayServer.java index ee043fb..554ebac 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/MixinNetHandlerPlayServer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/MixinNetHandlerPlayServer.java @@ -31,8 +31,8 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.network.NetworkManager; -import net.minecraft.network.play.server.S02PacketChat; -import net.minecraft.network.play.server.S07PacketRespawn; +import net.minecraft.network.play.server.SPacketChat; +import net.minecraft.network.play.server.SPacketRespawn; import org.neptunepowered.vanilla.wrapper.chat.NeptuneChatComponent; import org.neptunepowered.vanilla.wrapper.packet.NeptunePacket; import org.spongepowered.asm.mixin.Mixin; @@ -56,7 +56,7 @@ public void sendPacket(Packet packet) { @Override public void handleChat(Packet chatPacket) { - if (!(((NeptunePacket) chatPacket).getHandle() instanceof S02PacketChat)) { + if (!(((NeptunePacket) chatPacket).getHandle() instanceof SPacketChat)) { return; } @@ -70,7 +70,7 @@ public void handleCommand(String[] command) { @Override public void handleRespawn(Packet respawnPacket) { - if (!(((NeptunePacket) respawnPacket).getHandle() instanceof S07PacketRespawn)) { + if (!(((NeptunePacket) respawnPacket).getHandle() instanceof SPacketRespawn)) { return; } @@ -89,7 +89,7 @@ public void sendMessage(String message) { @Override public void sendMessage(ChatComponent chatComponent) { - sendPacket(new S02PacketChat(((NeptuneChatComponent) chatComponent).getHandle())); + sendPacket(new SPacketChat(((NeptuneChatComponent) chatComponent).getHandle())); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinSPacketBlockChange.java similarity index 94% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinSPacketBlockChange.java index fc884e5..7c95c68 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinS23PacketBlockChange.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/network/play/server/MixinSPacketBlockChange.java @@ -26,12 +26,12 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.network.play.server.SPacketBlockChange; import net.minecraft.util.math.BlockPos; -import org.neptunepowered.vanilla.interfaces.minecraft.network.play.server.IMixinS23PacketBlockChange; +import org.neptunepowered.vanilla.interfaces.minecraft.network.play.server.IMixinSPacketBlockChange; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(SPacketBlockChange.class) -public class MixinS23PacketBlockChange implements IMixinS23PacketBlockChange { +public class MixinSPacketBlockChange implements IMixinSPacketBlockChange { @Shadow private BlockPos blockPosition; @Shadow private IBlockState blockState; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java index 9b5a03c..ff9d5c0 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java @@ -25,18 +25,18 @@ import net.canarymod.api.potion.PotionEffectType; import net.minecraft.potion.Potion; +import org.omg.CORBA.Object; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(Potion.class) public abstract class MixinPotion implements net.canarymod.api.potion.Potion { - @Shadow public int id; @Shadow private boolean isBadEffect; @Override public int getID() { - return id; + return Potion.getIdFromPotion((Potion) (Object) this); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java index a288cf1..2adc3dc 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java @@ -43,24 +43,11 @@ import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.network.NetworkManager; import net.minecraft.network.PacketBuffer; -import net.minecraft.network.play.server.S01PacketJoinGame; -import net.minecraft.network.play.server.S05PacketSpawnPosition; -import net.minecraft.network.play.server.S09PacketHeldItemChange; -import net.minecraft.network.play.server.S1DPacketEntityEffect; -import net.minecraft.network.play.server.S38PacketPlayerListItem; -import net.minecraft.network.play.server.S39PacketPlayerAbilities; -import net.minecraft.network.play.server.S3FPacketCustomPayload; -import net.minecraft.network.play.server.S41PacketServerDifficulty; import net.minecraft.potion.PotionEffect; import net.minecraft.scoreboard.ServerScoreboard; import net.minecraft.server.MinecraftServer; import net.minecraft.server.management.PlayerProfileCache; -import net.minecraft.server.management.ServerConfigurationManager; import net.minecraft.stats.StatList; -import net.minecraft.util.BlockPos; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; import net.minecraft.world.WorldServer; import net.minecraft.world.WorldSettings; import net.minecraft.world.storage.WorldInfo; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/network/MixinNetHandlerStatusServer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/network/MixinNetHandlerStatusServer.java index 4f33b81..62870b4 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/network/MixinNetHandlerStatusServer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/network/MixinNetHandlerStatusServer.java @@ -27,8 +27,8 @@ import net.canarymod.hook.system.ServerListPingHook; import net.minecraft.network.NetworkManager; import net.minecraft.network.ServerStatusResponse; -import net.minecraft.network.status.client.C00PacketServerQuery; -import net.minecraft.network.status.server.S00PacketServerInfo; +import net.minecraft.network.status.client.CPacketServerQuery; +import net.minecraft.network.status.server.SPacketServerInfo; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.NetHandlerStatusServer; import org.neptunepowered.vanilla.interfaces.minecraft.network.IMixinNetworkManager; @@ -47,7 +47,7 @@ public class MixinNetHandlerStatusServer { @Shadow private NetworkManager networkManager; @Overwrite - public void processServerQuery(C00PacketServerQuery packetIn) { + public void processServerQuery(CPacketServerQuery packetIn) { ServerListPingHook hook = (ServerListPingHook) new ServerListPingHook((InetSocketAddress) networkManager.getRemoteAddress(), ((IMixinNetworkManager) networkManager).getProtocolVersion(), @@ -65,13 +65,13 @@ public void processServerQuery(C00PacketServerQuery packetIn) { ServerStatusResponse response = new ServerStatusResponse(); response.setProtocolVersionInfo(server.getServerStatusResponse().getProtocolVersionInfo()); - ServerStatusResponse.PlayerCountData playerCountData = new ServerStatusResponse.PlayerCountData(hook - .getMaxPlayers(), hook.getCurrentPlayers()); + ServerStatusResponse.Players playerCountData = + new ServerStatusResponse.Players(hook.getMaxPlayers(), hook.getCurrentPlayers()); playerCountData.setPlayers(hook.getProfiles().toArray(new GameProfile[hook.getProfiles().size()])); response.setPlayerCountData(playerCountData); response.setServerDescription(((NeptuneChatComponent) hook.getMotd()).getHandle()); response.setFavicon(hook.getFavicon()); - networkManager.sendPacket(new S00PacketServerInfo(response)); + networkManager.sendPacket(new SPacketServerInfo(response)); } } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/stats/MixinAchievement.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/stats/MixinAchievement.java index 98a6af7..bb171d8 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/stats/MixinAchievement.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/stats/MixinAchievement.java @@ -26,7 +26,7 @@ import net.minecraft.stats.Achievement; import net.minecraft.stats.IStatType; import net.minecraft.stats.StatBase; -import net.minecraft.util.IChatComponent; +import net.minecraft.util.text.ITextComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -37,7 +37,7 @@ public abstract class MixinAchievement extends StatBase implements net.canarymod @Shadow private String achievementDescription; @Shadow private boolean isSpecial; - public MixinAchievement(String p_i45307_1_, IChatComponent p_i45307_2_, IStatType p_i45307_3_) { + public MixinAchievement(String p_i45307_1_, ITextComponent p_i45307_2_, IStatType p_i45307_3_) { super(p_i45307_1_, p_i45307_2_, p_i45307_3_); } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinDamageSource.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinDamageSource.java index 52df42f..0c18c76 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinDamageSource.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinDamageSource.java @@ -28,7 +28,7 @@ import net.canarymod.api.entity.Entity; import net.canarymod.api.entity.living.humanoid.Player; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.IChatComponent; +import net.minecraft.util.text.ITextComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -42,7 +42,7 @@ public abstract class MixinDamageSource implements DamageSource { @Shadow private boolean damageIsAbsolute; @Shadow - public abstract IChatComponent getDeathMessage(EntityLivingBase p_151519_1_); + public abstract ITextComponent getDeathMessage(EntityLivingBase p_151519_1_); @Shadow public abstract net.minecraft.entity.Entity getEntity(); diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinAxisAlignedBB.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java similarity index 97% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinAxisAlignedBB.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java index 7990a52..094c4a7 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinAxisAlignedBB.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java @@ -21,10 +21,10 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package org.neptunepowered.vanilla.mixin.minecraft.util; +package org.neptunepowered.vanilla.mixin.minecraft.util.math; import net.canarymod.api.BoundingBox; -import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.math.AxisAlignedBB; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java similarity index 97% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java index 8c74d90..8cb40f3 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatStyle.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java @@ -21,7 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package org.neptunepowered.vanilla.mixin.minecraft.util; +package org.neptunepowered.vanilla.mixin.minecraft.util.text; import net.canarymod.api.chat.ChatFormatting; import net.canarymod.api.chat.ChatStyle; @@ -33,7 +33,7 @@ import org.spongepowered.asm.mixin.Shadow; @Mixin(Style.class) -public abstract class MixinChatStyle implements ChatStyle { +public abstract class MixinStyle implements ChatStyle { @Shadow private Style parentStyle; @Shadow private TextFormatting color; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatComponentText.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinTextComponentString.java similarity index 78% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatComponentText.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinTextComponentString.java index fdfcf13..b057bb7 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinChatComponentText.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinTextComponentString.java @@ -21,16 +21,16 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package org.neptunepowered.vanilla.mixin.minecraft.util; +package org.neptunepowered.vanilla.mixin.minecraft.util.text; -import net.minecraft.util.ChatComponentStyle; -import net.minecraft.util.ChatComponentText; -import org.neptunepowered.vanilla.interfaces.minecraft.util.IMixinChatComponentText; +import net.minecraft.util.text.TextComponentBase; +import net.minecraft.util.text.TextComponentString; +import org.neptunepowered.vanilla.interfaces.minecraft.util.text.IMixinTextComponentString; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(ChatComponentText.class) -public abstract class MixinChatComponentText extends ChatComponentStyle implements IMixinChatComponentText { +@Mixin(TextComponentString.class) +public abstract class MixinTextComponentString extends TextComponentBase implements IMixinTextComponentString { @Shadow private String text; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinEnumChatFormatting.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinTextFormatting.java similarity index 89% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinEnumChatFormatting.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinTextFormatting.java index 2484c37..49a853c 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/MixinEnumChatFormatting.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinTextFormatting.java @@ -21,15 +21,15 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -package org.neptunepowered.vanilla.mixin.minecraft.util; +package org.neptunepowered.vanilla.mixin.minecraft.util.text; import net.canarymod.api.chat.ChatFormatting; -import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.text.TextFormatting; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; -@Mixin(EnumChatFormatting.class) -public abstract class MixinEnumChatFormatting implements ChatFormatting { +@Mixin(TextFormatting.class) +public abstract class MixinTextFormatting implements ChatFormatting { @Shadow public char formattingCode; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/village/MixinVillage.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/village/MixinVillage.java index 89f7fd2..e665703 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/village/MixinVillage.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/village/MixinVillage.java @@ -26,7 +26,7 @@ import net.canarymod.api.entity.living.humanoid.Player; import net.canarymod.api.world.Village; import net.canarymod.api.world.position.Location; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java index 0f5a309..cb126d4 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java @@ -26,7 +26,7 @@ import net.canarymod.api.world.Biome; import net.canarymod.api.world.BiomeType; import net.canarymod.api.world.World; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.biome.BiomeGenBase; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/chunk/MixinChunk.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/chunk/MixinChunk.java index 39c3639..23cd42e 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/chunk/MixinChunk.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/chunk/MixinChunk.java @@ -29,9 +29,9 @@ import net.canarymod.api.world.World; import net.canarymod.api.world.blocks.TileEntity; import net.canarymod.api.world.position.Position; -import net.minecraft.util.BlockPos; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.WorldChunkManager; +import net.minecraft.world.biome.BiomeProvider; import net.minecraft.world.chunk.Chunk; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -53,7 +53,7 @@ public abstract class MixinChunk implements net.canarymod.api.world.Chunk { @Shadow private net.minecraft.world.World worldObj; @Shadow - public abstract BiomeGenBase getBiome(BlockPos pos, WorldChunkManager chunkManager); + public abstract BiomeGenBase getBiome(BlockPos pos, BiomeProvider chunkManager); @Shadow public abstract void generateSkylightMap(); @@ -129,7 +129,7 @@ public byte[] getBiomeByteData() { @Override public Biome getBiome(int x, int z) { - return (Biome) getBiome(new BlockPos(x, 0, z), worldObj.getWorldChunkManager()); + return (Biome) getBiome(new BlockPos(x, 0, z), worldObj.getBiomeProvider()); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/util/converter/RotationsConverter.java b/src/main/java/org/neptunepowered/vanilla/util/converter/RotationsConverter.java index 3d28108..48875c3 100644 --- a/src/main/java/org/neptunepowered/vanilla/util/converter/RotationsConverter.java +++ b/src/main/java/org/neptunepowered/vanilla/util/converter/RotationsConverter.java @@ -27,11 +27,11 @@ public class RotationsConverter { - public static Rotations of(net.minecraft.util.Rotations minecraft) { + public static Rotations of(net.minecraft.util.math.Rotations minecraft) { return new Rotations(minecraft.getX(), minecraft.getY(), minecraft.getZ()); } - public static net.minecraft.util.Rotations of(Rotations canary) { - return new net.minecraft.util.Rotations(canary.getX(), canary.getY(), canary.getZ()); + public static net.minecraft.util.math.Rotations of(Rotations canary) { + return new net.minecraft.util.math.Rotations(canary.getX(), canary.getY(), canary.getZ()); } } diff --git a/src/main/java/org/neptunepowered/vanilla/util/helper/CrashReportHelper.java b/src/main/java/org/neptunepowered/vanilla/util/helper/CrashReportHelper.java index 7d02017..ca68936 100644 --- a/src/main/java/org/neptunepowered/vanilla/util/helper/CrashReportHelper.java +++ b/src/main/java/org/neptunepowered/vanilla/util/helper/CrashReportHelper.java @@ -26,13 +26,20 @@ import net.canarymod.Canary; import net.canarymod.plugin.Plugin; +import java.util.concurrent.Callable; + public final class CrashReportHelper { - public static String createCrashSectionMessage() { - StringBuilder result = new StringBuilder(64); - for (Plugin plugin : Canary.pluginManager().getPlugins()) { - result.append("\n\t\t").append(plugin.getName()); - } - return result.toString(); + public static Callable createCrashSectionMessage() { + return () -> { + StringBuilder result = new StringBuilder(64); + for (Plugin plugin : Canary.pluginManager().getPlugins()) { + result.append("\n\t\t") + .append(plugin.getName()) + .append(" version ") + .append(plugin.getVersion()); + } + return result.toString(); + }; } } diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java index c49d7c0..1e7eaf6 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java @@ -27,7 +27,7 @@ import net.canarymod.api.chat.ChatComponent; import net.canarymod.api.chat.ChatStyle; import net.minecraft.util.text.ITextComponent; -import org.neptunepowered.vanilla.interfaces.minecraft.util.IMixinChatComponentText; +import org.neptunepowered.vanilla.interfaces.minecraft.util.text.IMixinTextComponentString; import org.neptunepowered.vanilla.util.Wrapper; import java.util.List; @@ -51,7 +51,7 @@ public ChatStyle getChatStyle() { @Override public ChatComponent setText(String text) { if (getHandle() instanceof ITextComponent) { - ((IMixinChatComponentText) getHandle()).setText(text); + ((IMixinTextComponentString) getHandle()).setText(text); } return this; } diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java b/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java index 361e4a1..008ae78 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/packet/NeptuneBlockChangePacket.java @@ -29,7 +29,7 @@ import net.canarymod.api.world.position.Position; import net.minecraft.network.play.server.SPacketBlockChange; import net.minecraft.util.math.BlockPos; -import org.neptunepowered.vanilla.interfaces.minecraft.network.play.server.IMixinS23PacketBlockChange; +import org.neptunepowered.vanilla.interfaces.minecraft.network.play.server.IMixinSPacketBlockChange; public class NeptuneBlockChangePacket extends NeptunePacket implements BlockChangePacket { @@ -74,7 +74,7 @@ public Position getPosition() { @Override public void setPosition(Position position) { - ((IMixinS23PacketBlockChange) getHandle()).setBlockPosition( + ((IMixinSPacketBlockChange) getHandle()).setBlockPosition( new BlockPos(position.getX(), position.getY(), position.getZ())); } diff --git a/src/main/resources/mixins.vanilla.minecraft.json b/src/main/resources/mixins.vanilla.minecraft.json index 46c76e1..2e533db 100644 --- a/src/main/resources/mixins.vanilla.minecraft.json +++ b/src/main/resources/mixins.vanilla.minecraft.json @@ -69,7 +69,7 @@ "nbt.MixinNBTTagLong", "nbt.MixinNBTTagShort", "nbt.MixinNBTTagString", - "network.play.server.MixinS23PacketBlockChange", + "network.play.server.MixinSPacketBlockChange", "network.MixinNetHandlerPlayServer", "network.MixinNetworkManager", "pathfinding.MixinPathNavigate", @@ -89,11 +89,11 @@ "stats.MixinAchievement", "stats.MixinStatBase", "tileentity.MixinTileEntity", - "util.MixinAxisAlignedBB", - "util.MixinChatComponentText", - "util.MixinChatStyle", + "util.math.MixinAxisAlignedBB", + "util.text.MixinStyle", + "util.text.MixinTextComponentString", + "util.text.MixinTextFormatting", "util.MixinDamageSource", - "util.MixinEnumChatFormatting", "village.MixinMerchantRecipe", "village.MixinVillage", "world.biome.MixinBiomeGenBase", From f86d648a8f27c9061238673c67704227eed732cf Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Thu, 21 Apr 2016 19:07:27 +0100 Subject: [PATCH 5/8] Update PlayerList --- .../dedicated/MixinDedicatedServer.java | 13 +- ...ationManager.java => MixinPlayerList.java} | 195 ++++++++++++------ .../resources/mixins.vanilla.minecraft.json | 2 +- src/main/resources/vanilla_at.cfg | 3 +- 4 files changed, 147 insertions(+), 66 deletions(-) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/{MixinServerConfigurationManager.java => MixinPlayerList.java} (53%) diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java index ba1fd8e..47d3b44 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java @@ -23,9 +23,14 @@ */ package org.neptunepowered.vanilla.mixin.minecraft.server.dedicated; +import com.mojang.authlib.GameProfileRepository; +import com.mojang.authlib.minecraft.MinecraftSessionService; +import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; import net.canarymod.Canary; import net.minecraft.server.MinecraftServer; import net.minecraft.server.dedicated.DedicatedServer; +import net.minecraft.server.management.PlayerProfileCache; +import net.minecraft.util.datafix.DataFixer; import org.neptunepowered.vanilla.Neptune; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -39,8 +44,12 @@ @Mixin(DedicatedServer.class) public abstract class MixinDedicatedServer extends MinecraftServer { - MixinDedicatedServer(File workDir, Proxy proxy, File profileCacheDir) { - super(workDir, proxy, profileCacheDir); + MixinDedicatedServer(File anvilFileIn, Proxy proxyIn, DataFixer dataFixerIn, + YggdrasilAuthenticationService authServiceIn, + MinecraftSessionService sessionServiceIn, + GameProfileRepository profileRepoIn, + PlayerProfileCache profileCacheIn) { + super(anvilFileIn, proxyIn, dataFixerIn, authServiceIn, sessionServiceIn, profileRepoIn, profileCacheIn); } @Inject(method = "startServer", at = @At(value = "INVOKE", diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java similarity index 53% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java index 2adc3dc..4d27c33 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinServerConfigurationManager.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java @@ -37,19 +37,32 @@ import net.canarymod.hook.player.ConnectionHook; import net.canarymod.hook.player.PlayerListHook; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityList; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetHandlerPlayServer; import net.minecraft.network.NetworkManager; import net.minecraft.network.PacketBuffer; +import net.minecraft.network.play.server.SPacketCustomPayload; +import net.minecraft.network.play.server.SPacketEntityEffect; +import net.minecraft.network.play.server.SPacketHeldItemChange; +import net.minecraft.network.play.server.SPacketJoinGame; +import net.minecraft.network.play.server.SPacketPlayerAbilities; +import net.minecraft.network.play.server.SPacketPlayerListItem; +import net.minecraft.network.play.server.SPacketServerDifficulty; +import net.minecraft.network.play.server.SPacketSpawnPosition; import net.minecraft.potion.PotionEffect; import net.minecraft.scoreboard.ServerScoreboard; import net.minecraft.server.MinecraftServer; +import net.minecraft.server.management.PlayerList; import net.minecraft.server.management.PlayerProfileCache; import net.minecraft.stats.StatList; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TextComponentTranslation; +import net.minecraft.util.text.TextFormatting; import net.minecraft.world.WorldServer; import net.minecraft.world.WorldSettings; +import net.minecraft.world.chunk.storage.AnvilChunkLoader; import net.minecraft.world.storage.WorldInfo; import org.apache.logging.log4j.Logger; import org.neptunepowered.vanilla.wrapper.chat.NeptuneChatComponent; @@ -57,12 +70,13 @@ import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.UUID; -@Mixin(ServerConfigurationManager.class) -public abstract class MixinServerConfigurationManager implements ConfigurationManager { +@Mixin(PlayerList.class) +public abstract class MixinPlayerList implements ConfigurationManager { @Shadow private static Logger logger; @@ -82,7 +96,7 @@ protected abstract void setPlayerGameTypeBasedOnOther(EntityPlayerMP p_72381_1_, protected abstract void sendScoreboard(ServerScoreboard scoreboardIn, EntityPlayerMP playerIn); @Shadow - public abstract void sendChatMsg(IChatComponent component); + public abstract void sendChatMsg(ITextComponent component); @Shadow public abstract void playerLoggedIn(EntityPlayerMP playerIn); @@ -96,48 +110,71 @@ protected abstract void setPlayerGameTypeBasedOnOther(EntityPlayerMP p_72381_1_, @Shadow public abstract int getCurrentPlayerCount(); + @Shadow + public abstract MinecraftServer getServerInstance(); + + @Shadow + public abstract void func_187243_f(EntityPlayerMP p_187243_1_); + + @Shadow + public abstract List getPlayerList(); + @Overwrite public void playerLoggedOut(EntityPlayerMP playerIn) { + WorldServer worldserver = playerIn.getServerForPlayer(); playerIn.triggerAchievement(StatList.leaveGameStat); this.writePlayerData(playerIn); - WorldServer worldserver = playerIn.getServerForPlayer(); - - if (playerIn.ridingEntity != null) { - worldserver.removePlayerEntityDangerously(playerIn.ridingEntity); - logger.debug("removing player mount"); + if (playerIn.isRiding()) { + Entity uuid = playerIn.getLowestRidingEntity(); + if (uuid.func_184180_b(EntityPlayerMP.class).size() == 1) { + logger.debug("Removing player mount"); + playerIn.dismountRidingEntity(); + worldserver.removePlayerEntityDangerously(uuid); + Iterator entityplayermp = uuid.func_184182_bu().iterator(); + + while (entityplayermp.hasNext()) { + Entity entity1 = (Entity) entityplayermp.next(); + worldserver.removePlayerEntityDangerously(entity1); + } + + worldserver.getChunkFromChunkCoords(playerIn.chunkCoordX, playerIn.chunkCoordZ).setChunkModified(); + } } worldserver.removeEntity(playerIn); - worldserver.getPlayerManager().removePlayer(playerIn); + worldserver.getPlayerChunkManager().removePlayer(playerIn); this.playerEntityList.remove(playerIn); - UUID uuid = playerIn.getUniqueID(); - EntityPlayerMP entityplayermp = (EntityPlayerMP) this.uuidToPlayerMap.get(uuid); - - if (entityplayermp == playerIn) { - this.uuidToPlayerMap.remove(uuid); - this.playerStatFiles.remove(uuid); + UUID uuid1 = playerIn.getUniqueID(); + EntityPlayerMP entityplayermp1 = (EntityPlayerMP) this.uuidToPlayerMap.get(uuid1); + if (entityplayermp1 == playerIn) { + this.uuidToPlayerMap.remove(uuid1); + this.playerStatFiles.remove(uuid1); } - // Neptune: start + // Neptune: Start PlayerListData playerListData = ((Player) playerIn).getPlayerListData(PlayerListAction.REMOVE_PLAYER); for (int i = 0; i < playerEntityList.size(); i++) { EntityPlayerMP playerMP = (EntityPlayerMP) this.playerEntityList.get(i); PlayerListHook playerListHook = new PlayerListHook(playerListData.copy(), (Player) playerMP); - if (!playerListHook.call().isCanceled()) { - S38PacketPlayerListItem packet = new S38PacketPlayerListItem(); - packet.action = S38PacketPlayerListItem.Action.valueOf(PlayerListAction.REMOVE_PLAYER.name()); - WorldSettings.GameType gameType = - WorldSettings.GameType.getByID(playerListHook.getData().getMode().getId()); - IChatComponent iChatComponent = playerListHook.getData().displayNameSet() ? ((NeptuneChatComponent) - playerListHook.getData().getDisplayName()).getHandle() : null; - packet.players.add(packet.new AddPlayerData(playerListHook.getData() - .getProfile(), playerListHook.getData().getPing(), gameType, iChatComponent)); - playerMP.playerNetServerHandler.sendPacket(packet); - } + + ITextComponent displayName = playerListHook.getData().displayNameSet() ? ((NeptuneChatComponent) + playerListHook.getData().getDisplayName()).getHandle() : null; + WorldSettings.GameType gameType = + WorldSettings.GameType.getByID(playerListHook.getData().getMode().getId()); + + SPacketPlayerListItem packet = + new SPacketPlayerListItem(SPacketPlayerListItem.Action.REMOVE_PLAYER); + packet.players.add(packet.new AddPlayerData( + playerListHook.getData().getProfile(), + playerListHook.getData().getPing(), + gameType, + displayName)); } + + // Neptune: Replaced by above code + //this.sendPacketToAllPlayers(new SPacketPlayerListItem(net.minecraft.network.play.server + // .SPacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[]{playerIn})); // Neptune: end - //this.sendPacketToAllPlayers(new S38PacketPlayerListItem(S38PacketPlayerListItem.Action.REMOVE_PLAYER, new - // EntityPlayerMP[] {playerIn})); // Neptune: replaced by above code } @Overwrite @@ -156,73 +193,109 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer s1 = netManager.getRemoteAddress().toString(); } - logger.info(playerIn.getName() + "[" + s1 + "] logged in with entity id " + playerIn.getEntityId() + " at (" + playerIn.posX + ", " - + playerIn.posY + ", " + playerIn.posZ + ")"); + logger.info(playerIn.getName() + "[" + s1 + "] logged in with entity id " + playerIn.getEntityId() + " at (" + + playerIn.posX + ", " + playerIn.posY + ", " + playerIn.posZ + ")"); WorldServer worldserver = this.mcServer.worldServerForDimension(playerIn.dimension); WorldInfo worldinfo = worldserver.getWorldInfo(); BlockPos blockpos = worldserver.getSpawnPoint(); this.setPlayerGameTypeBasedOnOther(playerIn, (EntityPlayerMP) null, worldserver); NetHandlerPlayServer nethandlerplayserver = new NetHandlerPlayServer(this.mcServer, netManager, playerIn); nethandlerplayserver.sendPacket( - new S01PacketJoinGame(playerIn.getEntityId(), playerIn.theItemInWorldManager.getGameType(), worldinfo.isHardcoreModeEnabled(), - worldserver.provider.getDimensionId(), worldserver.getDifficulty(), this.getMaxPlayers(), worldinfo.getTerrainType(), + new SPacketJoinGame(playerIn.getEntityId(), playerIn.theItemInWorldManager.getGameType(), + worldinfo.isHardcoreModeEnabled(), worldserver.provider.getDimensionType().getId(), + worldserver.getDifficulty(), this.getMaxPlayers(), worldinfo.getTerrainType(), worldserver.getGameRules().getBoolean("reducedDebugInfo"))); - nethandlerplayserver.sendPacket(new S3FPacketCustomPayload("MC|Brand", - (new PacketBuffer(Unpooled.buffer())).writeString(mcServer.getServerModName()))); - nethandlerplayserver.sendPacket(new S41PacketServerDifficulty(worldinfo.getDifficulty(), worldinfo.isDifficultyLocked())); - nethandlerplayserver.sendPacket(new S05PacketSpawnPosition(blockpos)); - nethandlerplayserver.sendPacket(new S39PacketPlayerAbilities(playerIn.capabilities)); - nethandlerplayserver.sendPacket(new S09PacketHeldItemChange(playerIn.inventory.currentItem)); + nethandlerplayserver.sendPacket(new SPacketCustomPayload("MC|Brand", + (new PacketBuffer(Unpooled.buffer())).writeString(this.getServerInstance().getServerModName()))); + nethandlerplayserver + .sendPacket(new SPacketServerDifficulty(worldinfo.getDifficulty(), worldinfo.isDifficultyLocked())); + nethandlerplayserver.sendPacket(new SPacketSpawnPosition(blockpos)); + nethandlerplayserver.sendPacket(new SPacketPlayerAbilities(playerIn.capabilities)); + nethandlerplayserver.sendPacket(new SPacketHeldItemChange(playerIn.inventory.currentItem)); + this.func_187243_f(playerIn); playerIn.getStatFile().func_150877_d(); playerIn.getStatFile().sendAchievements(playerIn); this.sendScoreboard((ServerScoreboard) worldserver.getScoreboard(), playerIn); this.mcServer.refreshStatusNextTick(); - ChatComponentTranslation chatcomponenttranslation; + TextComponentTranslation textcomponenttranslation; if (!playerIn.getName().equalsIgnoreCase(s)) { - chatcomponenttranslation = new ChatComponentTranslation("multiplayer.player.joined.renamed", new Object[]{playerIn.getDisplayName(), s}); + textcomponenttranslation = new TextComponentTranslation("multiplayer.player.joined.renamed", + new Object[]{playerIn.getDisplayName(), s}); } else { - chatcomponenttranslation = new ChatComponentTranslation("multiplayer.player.joined", new Object[]{playerIn.getDisplayName()}); + textcomponenttranslation = + new TextComponentTranslation("multiplayer.player.joined", new Object[]{playerIn.getDisplayName()}); } - chatcomponenttranslation.getChatStyle().setColor(EnumChatFormatting.YELLOW); + textcomponenttranslation.getChatStyle().setColor(TextFormatting.YELLOW); // Neptune: start ConnectionHook hook = (ConnectionHook) new ConnectionHook( - (Player) playerIn, chatcomponenttranslation.getUnformattedTextForChat(), false + (Player) playerIn, textcomponenttranslation.getUnformattedTextForChat(), false ).call(); if (!hook.isHidden()) { - this.sendChatMsg(chatcomponenttranslation); + this.sendChatMsg(textcomponenttranslation); } + + // Neptune: Called above + //this.sendChatMsg(textcomponenttranslation); // Neptune: end - //this.sendChatMsg(chatcomponenttranslation); // Neptune: Called above this.playerLoggedIn(playerIn); - nethandlerplayserver.setPlayerLocation(playerIn.posX, playerIn.posY, playerIn.posZ, playerIn.rotationYaw, playerIn.rotationPitch); + nethandlerplayserver.setPlayerLocation(playerIn.posX, playerIn.posY, playerIn.posZ, playerIn.rotationYaw, + playerIn.rotationPitch); this.updateTimeAndWeatherForPlayer(playerIn, worldserver); - if (this.mcServer.getResourcePackUrl().length() > 0) { + if (!this.mcServer.getResourcePackUrl().isEmpty()) { playerIn.loadResourcePack(this.mcServer.getResourcePackUrl(), this.mcServer.getResourcePackHash()); } for (PotionEffect potioneffect : playerIn.getActivePotionEffects()) { - nethandlerplayserver.sendPacket(new S1DPacketEntityEffect(playerIn.getEntityId(), potioneffect)); + nethandlerplayserver.sendPacket(new SPacketEntityEffect(playerIn.getEntityId(), potioneffect)); } - playerIn.addSelfToInternalCraftingInventory(); - - if (nbttagcompound != null && nbttagcompound.hasKey("Riding", 10)) { - Entity entity = EntityList.createEntityFromNBT(nbttagcompound.getCompoundTag("Riding"), worldserver); - - if (entity != null) { - entity.forceSpawn = true; - worldserver.spawnEntityInWorld(entity); - playerIn.mountEntity(entity); - entity.forceSpawn = false; + if (nbttagcompound != null) { + if (nbttagcompound.hasKey("RootVehicle", 10)) { + NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("RootVehicle"); + Entity entity2 = AnvilChunkLoader + .func_186051_a(nbttagcompound1.getCompoundTag("Entity"), worldserver, true); + + if (entity2 != null) { + UUID uuid = nbttagcompound1.getUniqueId("Attach"); + + if (entity2.getUniqueID().equals(uuid)) { + playerIn.startRiding(entity2, true); + } else { + for (Entity entity : entity2.func_184182_bu()) { + if (entity.getUniqueID().equals(uuid)) { + playerIn.startRiding(entity, true); + break; + } + } + } + + if (!playerIn.isRiding()) { + logger.warn("Couldn\'t reattach entity to player"); + worldserver.removePlayerEntityDangerously(entity2); + + for (Entity entity3 : entity2.func_184182_bu()) { + worldserver.removePlayerEntityDangerously(entity3); + } + } + } + } else if (nbttagcompound.hasKey("Riding", 10)) { + Entity entity1 = + AnvilChunkLoader.func_186051_a(nbttagcompound.getCompoundTag("Riding"), worldserver, true); + + if (entity1 != null) { + playerIn.startRiding(entity1, true); + } } } + playerIn.addSelfToInternalCraftingInventory(); + // Neptune: start Canary.motd().sendMOTD((MessageReceiver) playerIn); // Neptune: end @@ -245,7 +318,7 @@ public Player getPlayerByName(String name) { @Override public List getAllPlayers() { - return null; + return (List) this.getPlayerList(); } @Override diff --git a/src/main/resources/mixins.vanilla.minecraft.json b/src/main/resources/mixins.vanilla.minecraft.json index 2e533db..72f3203 100644 --- a/src/main/resources/mixins.vanilla.minecraft.json +++ b/src/main/resources/mixins.vanilla.minecraft.json @@ -82,7 +82,7 @@ "server.dedicated.MixinDedicatedServer", "server.gui.MixinMinecraftServerGui", "server.management.MixinItemInWorldManager", - "server.management.MixinServerConfigurationManager", + "server.management.MixinPlayerList", "server.network.MixinNetHandlerHandshakeTCP", "server.network.MixinNetHandlerStatusServer", "server.MixinMinecraftServer", diff --git a/src/main/resources/vanilla_at.cfg b/src/main/resources/vanilla_at.cfg index 49d6f1f..0336326 100644 --- a/src/main/resources/vanilla_at.cfg +++ b/src/main/resources/vanilla_at.cfg @@ -7,8 +7,7 @@ public net.minecraft.network.handshake.client.C00Handshake field_149598_b # ip public net.minecraft.network.handshake.client.C00Handshake field_149599_c # port public net.minecraft.network.play.server.SPacketBlockChange field_179828_a # blockPosition public net.minecraft.network.play.server.SPacketBlockChange field_148883_d # blockState -#public net.minecraft.network.play.server.S38PacketPlayerListItem field_179770_a # action -#public net.minecraft.network.play.server.S38PacketPlayerListItem field_179769_b # players +public net.minecraft.network.play.server.SPacketPlayerListItem field_179769_b # players #public net.minecraft.server.management.ServerConfigurationManager field_148546_d # logger # recipes From 09d4cf7c0907ffdf21fa3a25783d61711e913897 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Fri, 22 Apr 2016 17:16:23 +0100 Subject: [PATCH 6/8] Fix the remaining compile-time issues --- .../vanilla/factory/NeptunePacketFactory.java | 18 +++++++------- .../vanilla/factory/NeptunePotionFactory.java | 6 +++-- .../entity/MixinEntityLivingBase.java | 2 +- ...ide.java => MixinEntityAIAttackMelee.java} | 6 ++--- ...ck.java => MixinEntityAIAttackRanged.java} | 6 ++--- ...ap.java => MixinAbstractAttributeMap.java} | 6 ++--- .../entity/item/MixinEntityArmorStand.java | 24 +++++++++---------- .../scoreboard/MixinScoreObjective.java | 4 ++-- .../minecraft/scoreboard/MixinScoreboard.java | 4 ++-- .../resources/mixins.vanilla.minecraft.json | 6 ++--- 10 files changed, 42 insertions(+), 40 deletions(-) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/{MixinEntityAIAttackOnCollide.java => MixinEntityAIAttackMelee.java} (87%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/{MixinEntityAIArrowAttack.java => MixinEntityAIAttackRanged.java} (88%) rename src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/{MixinBaseAttributeMap.java => MixinAbstractAttributeMap.java} (93%) diff --git a/src/main/java/org/neptunepowered/vanilla/factory/NeptunePacketFactory.java b/src/main/java/org/neptunepowered/vanilla/factory/NeptunePacketFactory.java index 7b3afaa..285d7ed 100644 --- a/src/main/java/org/neptunepowered/vanilla/factory/NeptunePacketFactory.java +++ b/src/main/java/org/neptunepowered/vanilla/factory/NeptunePacketFactory.java @@ -42,11 +42,11 @@ import net.canarymod.api.world.blocks.BlockType; import net.canarymod.api.world.position.Position; import net.canarymod.api.world.position.Vector3D; -import net.minecraft.network.play.server.S03PacketTimeUpdate; -import net.minecraft.network.play.server.S06PacketUpdateHealth; -import net.minecraft.network.play.server.S2EPacketCloseWindow; -import net.minecraft.network.play.server.S36PacketSignEditorOpen; -import net.minecraft.util.BlockPos; +import net.minecraft.network.play.server.SPacketCloseWindow; +import net.minecraft.network.play.server.SPacketSignEditorOpen; +import net.minecraft.network.play.server.SPacketTimeUpdate; +import net.minecraft.network.play.server.SPacketUpdateHealth; +import net.minecraft.util.math.BlockPos; import org.neptunepowered.vanilla.wrapper.packet.NeptunePacket; import java.util.List; @@ -100,7 +100,7 @@ public Packet chat(ChatComponent chatComponent) { @Override public Packet updateTime(long worldAge, long time) { - return new NeptunePacket(new S03PacketTimeUpdate(worldAge, time, false)); + return new NeptunePacket(new SPacketTimeUpdate(worldAge, time, false)); } @Override @@ -115,7 +115,7 @@ public Packet spawnPosition(int x, int y, int z) { @Override public Packet updateHealth(float health, int foodLevel, float saturation) { - return new NeptunePacket(new S06PacketUpdateHealth(health, foodLevel, saturation)); + return new NeptunePacket(new SPacketUpdateHealth(health, foodLevel, saturation)); } @Override @@ -312,7 +312,7 @@ public Packet openWindow(int windowId, int type, String title, int slots, boolea @Override public Packet closeWindow(int windowId) { - return new NeptunePacket(new S2EPacketCloseWindow(windowId)); + return new NeptunePacket(new SPacketCloseWindow(windowId)); } @Override @@ -347,7 +347,7 @@ public Packet updateTileEntity(int x, int y, int z, int action, CompoundTag comp @Override public Packet signEditorOpen(int x, int y, int z) { - return new NeptunePacket(new S36PacketSignEditorOpen(new BlockPos(x, y, z))); + return new NeptunePacket(new SPacketSignEditorOpen(new BlockPos(x, y, z))); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/factory/NeptunePotionFactory.java b/src/main/java/org/neptunepowered/vanilla/factory/NeptunePotionFactory.java index e1c7ac6..273300c 100644 --- a/src/main/java/org/neptunepowered/vanilla/factory/NeptunePotionFactory.java +++ b/src/main/java/org/neptunepowered/vanilla/factory/NeptunePotionFactory.java @@ -26,17 +26,19 @@ import net.canarymod.api.factory.PotionFactory; import net.canarymod.api.potion.PotionEffect; import net.canarymod.api.potion.PotionEffectType; +import net.minecraft.potion.Potion; public class NeptunePotionFactory implements PotionFactory { @Override public PotionEffect newPotionEffect(int id, int duration, int amplifier) { - return (PotionEffect) new net.minecraft.potion.PotionEffect(id, duration, amplifier); + return (PotionEffect) new net.minecraft.potion.PotionEffect(Potion.getPotionById(id), duration, amplifier); } @Override public PotionEffect newPotionEffect(int id, int duration, int amplifier, boolean ambient) { - return (PotionEffect) new net.minecraft.potion.PotionEffect(id, duration, amplifier, ambient, true); + return (PotionEffect) new net.minecraft.potion.PotionEffect( + Potion.getPotionById(id), duration, amplifier, ambient, true); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLivingBase.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLivingBase.java index e3db826..b4d97d7 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLivingBase.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLivingBase.java @@ -75,7 +75,7 @@ public double getMaxHealth() { @Override public void setMaxHealth(double maxHealth) { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(maxHealth); + this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(maxHealth); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackOnCollide.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackMelee.java similarity index 87% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackOnCollide.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackMelee.java index e58ed4e..b263045 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackOnCollide.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackMelee.java @@ -24,10 +24,10 @@ package org.neptunepowered.vanilla.mixin.minecraft.entity.ai; import net.canarymod.api.ai.AIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; +import net.minecraft.entity.ai.EntityAIAttackMelee; import org.spongepowered.asm.mixin.Mixin; -@Mixin(EntityAIAttackOnCollide.class) -public abstract class MixinEntityAIAttackOnCollide extends MixinEntityAIBase implements AIAttackOnCollide { +@Mixin(EntityAIAttackMelee.class) +public abstract class MixinEntityAIAttackMelee extends MixinEntityAIBase implements AIAttackOnCollide { } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIArrowAttack.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackRanged.java similarity index 88% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIArrowAttack.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackRanged.java index 5c5dc32..eda8bd9 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIArrowAttack.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/MixinEntityAIAttackRanged.java @@ -24,10 +24,10 @@ package org.neptunepowered.vanilla.mixin.minecraft.entity.ai; import net.canarymod.api.ai.AIArrowAttack; -import net.minecraft.entity.ai.EntityAIArrowAttack; +import net.minecraft.entity.ai.EntityAIAttackRanged; import org.spongepowered.asm.mixin.Mixin; -@Mixin(EntityAIArrowAttack.class) -public abstract class MixinEntityAIArrowAttack extends MixinEntityAIBase implements AIArrowAttack { +@Mixin(EntityAIAttackRanged.class) +public abstract class MixinEntityAIAttackRanged extends MixinEntityAIBase implements AIArrowAttack { } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/MixinBaseAttributeMap.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/MixinAbstractAttributeMap.java similarity index 93% rename from src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/MixinBaseAttributeMap.java rename to src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/MixinAbstractAttributeMap.java index 17bc8c8..41ad2d3 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/MixinBaseAttributeMap.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/ai/attributes/MixinAbstractAttributeMap.java @@ -28,14 +28,14 @@ import net.canarymod.api.attributes.AttributeMap; import net.canarymod.api.attributes.AttributeModifier; import net.canarymod.api.attributes.ModifiedAttribute; -import net.minecraft.entity.ai.attributes.BaseAttributeMap; +import net.minecraft.entity.ai.attributes.AbstractAttributeMap; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import java.util.Collection; -@Mixin(BaseAttributeMap.class) -public abstract class MixinBaseAttributeMap implements AttributeMap { +@Mixin(AbstractAttributeMap.class) +public abstract class MixinAbstractAttributeMap implements AttributeMap { @Shadow public abstract void applyAttributeModifiers(Multimap p_111147_1_); diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java index c7e2bfb..26ce4a4 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java @@ -37,12 +37,12 @@ @Mixin(EntityArmorStand.class) public abstract class MixinEntityArmorStand extends MixinEntityLivingBase implements ArmorStand { - @Shadow private net.minecraft.util.Rotations headRotation; - @Shadow private net.minecraft.util.Rotations bodyRotation; - @Shadow private net.minecraft.util.Rotations leftArmRotation; - @Shadow private net.minecraft.util.Rotations rightArmRotation; - @Shadow private net.minecraft.util.Rotations leftLegRotation; - @Shadow private net.minecraft.util.Rotations rightLegRotation; + @Shadow private net.minecraft.util.math.Rotations headRotation; + @Shadow private net.minecraft.util.math.Rotations bodyRotation; + @Shadow private net.minecraft.util.math.Rotations leftArmRotation; + @Shadow private net.minecraft.util.math.Rotations rightArmRotation; + @Shadow private net.minecraft.util.math.Rotations leftLegRotation; + @Shadow private net.minecraft.util.math.Rotations rightLegRotation; @Shadow public abstract ItemStack[] getInventory(); @@ -66,22 +66,22 @@ public abstract class MixinEntityArmorStand extends MixinEntityLivingBase implem public abstract void setNoBasePlate(boolean p_175426_1_); @Shadow - public abstract void setHeadRotation(net.minecraft.util.Rotations p_175415_1_); + public abstract void setHeadRotation(net.minecraft.util.math.Rotations p_175415_1_); @Shadow - public abstract void setBodyRotation(net.minecraft.util.Rotations p_175424_1_); + public abstract void setBodyRotation(net.minecraft.util.math.Rotations p_175424_1_); @Shadow - public abstract void setLeftArmRotation(net.minecraft.util.Rotations p_175405_1_); + public abstract void setLeftArmRotation(net.minecraft.util.math.Rotations p_175405_1_); @Shadow - public abstract void setRightArmRotation(net.minecraft.util.Rotations p_175428_1_); + public abstract void setRightArmRotation(net.minecraft.util.math.Rotations p_175428_1_); @Shadow - public abstract void setLeftLegRotation(net.minecraft.util.Rotations p_175417_1_); + public abstract void setLeftLegRotation(net.minecraft.util.math.Rotations p_175417_1_); @Shadow - public abstract void setRightLegRotation(net.minecraft.util.Rotations p_175427_1_); + public abstract void setRightLegRotation(net.minecraft.util.math.Rotations p_175427_1_); @Override public Item[] getAllEquipment() { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreObjective.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreObjective.java index af43905..baf82c2 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreObjective.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreObjective.java @@ -28,7 +28,7 @@ import net.canarymod.api.scoreboard.ScorePosition; import net.canarymod.api.scoreboard.Scoreboard; import net.canarymod.api.world.World; -import net.minecraft.scoreboard.IScoreObjectiveCriteria; +import net.minecraft.scoreboard.IScoreCriteria; import net.minecraft.scoreboard.ScoreObjective; import org.neptunepowered.vanilla.wrapper.scoreboard.NeptuneScoreObjectiveCriteria; import org.spongepowered.asm.mixin.Mixin; @@ -38,7 +38,7 @@ public abstract class MixinScoreObjective implements net.canarymod.api.scoreboard.ScoreObjective { @Shadow private net.minecraft.scoreboard.Scoreboard theScoreboard; - @Shadow private IScoreObjectiveCriteria objectiveCriteria; + @Shadow private IScoreCriteria objectiveCriteria; @Shadow private String name; @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreboard.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreboard.java index bb20183..6985188 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreboard.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScoreboard.java @@ -31,7 +31,7 @@ import net.canarymod.api.scoreboard.ScorePosition; import net.canarymod.api.scoreboard.Team; import net.canarymod.api.world.World; -import net.minecraft.scoreboard.IScoreObjectiveCriteria; +import net.minecraft.scoreboard.IScoreCriteria; import net.minecraft.scoreboard.Scoreboard; import org.neptunepowered.vanilla.wrapper.scoreboard.NeptuneScoreObjectiveCriteria; import org.spongepowered.asm.mixin.Mixin; @@ -46,7 +46,7 @@ public abstract class MixinScoreboard implements net.canarymod.api.scoreboard.Sc @Shadow private Map teams; @Shadow - public abstract net.minecraft.scoreboard.ScoreObjective addScoreObjective(String name, IScoreObjectiveCriteria criteria); + public abstract net.minecraft.scoreboard.ScoreObjective addScoreObjective(String name, IScoreCriteria criteria); @Shadow public abstract net.minecraft.scoreboard.ScoreObjective getObjective(String name); diff --git a/src/main/resources/mixins.vanilla.minecraft.json b/src/main/resources/mixins.vanilla.minecraft.json index 72f3203..c128481 100644 --- a/src/main/resources/mixins.vanilla.minecraft.json +++ b/src/main/resources/mixins.vanilla.minecraft.json @@ -9,13 +9,13 @@ "command.MixinICommandSender", "command.MixinServerCommandManager", "crash.MixinCrashReport", + "entity.ai.attributes.MixinAbstractAttributeMap", "entity.ai.attributes.MixinAttributeModifier", "entity.ai.attributes.MixinBaseAttribute", - "entity.ai.attributes.MixinBaseAttributeMap", "entity.ai.attributes.MixinModifiableAttributeInstance", "entity.ai.attributes.MixinRangedAttribute", - "entity.ai.MixinEntityAIArrowAttack", - "entity.ai.MixinEntityAIAttackOnCollide", + "entity.ai.MixinEntityAIAttackMelee", + "entity.ai.MixinEntityAIAttackRanged", "entity.ai.MixinEntityAIAvoidEntity", "entity.ai.MixinEntityAIBase", "entity.ai.MixinEntityAITasks", From 356f850e50d612470e7e6f20cd1700fb527b2342 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Fri, 22 Apr 2016 17:52:30 +0100 Subject: [PATCH 7/8] Update mapping; work on mixins --- build.gradle | 2 +- .../mixin/minecraft/block/MixinBlock.java | 62 ++++---- .../block/material/MixinMaterial.java | 5 +- .../command/MixinServerCommandManager.java | 2 +- .../mixin/minecraft/entity/MixinEntity.java | 5 +- .../minecraft/entity/MixinEntityLiving.java | 5 +- .../server/MixinMinecraftServer.java | 16 +- .../server/management/MixinPlayerList.java | 141 +++++++++--------- .../util/math/MixinAxisAlignedBB.java | 5 +- .../wrapper/chat/NeptuneChatComponent.java | 6 +- 10 files changed, 127 insertions(+), 122 deletions(-) diff --git a/build.gradle b/build.gradle index dcfe64f..4868c61 100644 --- a/build.gradle +++ b/build.gradle @@ -81,7 +81,7 @@ license { minecraft { version = '1.9' - mappings = 'snapshot_20160304' + mappings = 'snapshot_20160403' runDir = 'run' tweakClass = 'org.neptunepowered.vanilla.launch.NeptuneServerTweaker' diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/MixinBlock.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/MixinBlock.java index 1efb255..57f904a 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/MixinBlock.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/MixinBlock.java @@ -39,30 +39,32 @@ @Mixin(Block.class) public abstract class MixinBlock implements BlockBase { + @Shadow protected boolean fullBlock; + @Shadow protected int lightOpacity; + @Shadow protected int lightValue; + @Shadow protected boolean useNeighborBrightness; @Shadow protected Material blockMaterial; @Shadow protected boolean needsRandomTick; - @Shadow protected double minX; - @Shadow protected double minY; - @Shadow protected double minZ; - @Shadow protected double maxX; - @Shadow protected double maxY; - @Shadow protected double maxZ; @Override - @Shadow - public abstract boolean isFullBlock(); + public boolean isFullBlock() { + return this.fullBlock; + } @Override - @Shadow - public abstract int getLightOpacity(); + public int getLightOpacity() { + return this.lightOpacity; + } @Override - @Shadow - public abstract int getLightValue(); + public int getLightValue() { + return this.lightValue; + } @Override - @Shadow - public abstract boolean getUseNeighborBrightness(); + public boolean getUseNeighborBrightness() { + return this.useNeighborBrightness; + } @Override public BlockMaterial getMaterial() { @@ -80,17 +82,19 @@ public boolean isSolidFullCube() { } @Override - @Shadow - public abstract boolean isNormalCube(); + public boolean isNormalCube() { + return false; // TODO: 1.9 + } @Override public boolean isVisuallyOpaque() { return false; } - @Shadow @Override - public abstract boolean isFullCube(); + public boolean isFullCube() { + return false; // TODO: 1.9 + } @Override public boolean isPassable(net.canarymod.api.world.blocks.Block block, Position pos) { @@ -122,8 +126,9 @@ public boolean ticksRandomly() { public abstract boolean hasTileEntity(); @Override - @Shadow - public abstract boolean isOpaqueCube(); + public boolean isOpaqueCube() { + return false; // TODO: 1.9 + } @Override @Shadow @@ -151,32 +156,32 @@ public float getExplosionResistance(Entity exploder) { @Override public double getBlockBoundsMinX() { - return this.minX; + return 0; // TODO: 1.9 } @Override public double getBlockBoundsMaxX() { - return this.maxX; + return 0; // TODO: 1.9 } @Override public double getBlockBoundsMinY() { - return this.minY; + return 0; // TODO: 1.9 } @Override public double getBlockBoundsMaxY() { - return this.maxY; + return 0; // TODO: 1.9 } @Override public double getBlockBoundsMinZ() { - return this.minZ; + return 0; // TODO: 1.9 } @Override public double getBlockBoundsMaxZ() { - return this.maxZ; + return 0; // TODO: 1.9 } @Override @@ -195,8 +200,9 @@ public boolean getEnableStats() { } @Override - @Shadow - public abstract int getMobilityFlag(); + public int getMobilityFlag() { + return 0; // TODO: 1.9 + } @Override public boolean requiresUpdates() { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/material/MixinMaterial.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/material/MixinMaterial.java index 830119a..e7be880 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/material/MixinMaterial.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/block/material/MixinMaterial.java @@ -24,6 +24,7 @@ package org.neptunepowered.vanilla.mixin.minecraft.block.material; import net.canarymod.api.world.blocks.BlockMaterial; +import net.minecraft.block.material.EnumPushReaction; import net.minecraft.block.material.Material; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -32,7 +33,7 @@ public abstract class MixinMaterial implements BlockMaterial { @Shadow private boolean canBurn; - @Shadow private int mobilityFlag; + @Shadow private EnumPushReaction mobilityFlag; @Shadow private boolean isTranslucent; @Shadow private boolean requiresNoTool; @@ -72,7 +73,7 @@ public boolean noToolRequired() { @Override public int getMobility() { - return this.mobilityFlag; + return this.mobilityFlag.ordinal(); // TODO: Maybe? } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java index d7e9902..dd4e565 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/command/MixinServerCommandManager.java @@ -66,7 +66,7 @@ public int executeCommand(ICommandSender sender, String command) { if (!exists) { TextComponentTranslation chatcomponenttranslation = new TextComponentTranslation("commands.generic.notFound", new Object[0]); - chatcomponenttranslation.getChatStyle().setColor(TextFormatting.RED); + chatcomponenttranslation.getStyle().setColor(TextFormatting.RED); sender.addChatMessage(chatcomponenttranslation); } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java index aea91ff..9291290 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java @@ -58,7 +58,6 @@ public abstract class MixinEntity implements Entity { @Shadow public float rotationYaw; @Shadow public boolean preventEntitySpawning; @Shadow public net.minecraft.world.World worldObj; - @Shadow public net.minecraft.entity.Entity riddenByEntity; @Shadow public net.minecraft.entity.Entity ridingEntity; @Shadow public boolean onGround; @Shadow public boolean isDead; @@ -352,7 +351,7 @@ public boolean isRidden() { @Override public Entity getRiding() { - return (Entity) riddenByEntity; + return null; // TODO: 1.9 } @Override @@ -367,7 +366,7 @@ public void setRider(Entity rider) { @Override public void mount(Entity entity) { - this.riddenByEntity = (net.minecraft.entity.Entity) entity; + // TODO: 1.9 } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java index abb2bfe..3829505 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java @@ -32,6 +32,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.ai.EntityAITasks; import net.minecraft.entity.ai.EntityMoveHelper; +import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemStack; import net.minecraft.pathfinding.PathNavigate; import org.spongepowered.asm.mixin.Mixin; @@ -56,7 +57,7 @@ public abstract class MixinEntityLiving extends MixinEntityLivingBase implements public abstract EntityMoveHelper getMoveHelper(); @Shadow - public abstract ItemStack getHeldItem(); + public abstract ItemStack getItemStackFromSlot(EntityEquipmentSlot slotIn); @Shadow public abstract ItemStack[] getInventory(); @@ -94,7 +95,7 @@ public void setAttackTarget(LivingBase livingbase) { @Override public Item getItemInHand() { - return (Item) this.getHeldItem(); + return (Item) this.getItemStackFromSlot(EntityEquipmentSlot.MAINHAND); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java index 61717b1..394b577 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/MixinMinecraftServer.java @@ -60,7 +60,7 @@ public abstract class MixinMinecraftServer implements Server { @Shadow public long[] tickTimeArray; @Shadow private int tickCounter; @Shadow private boolean serverRunning; - @Shadow private PlayerList serverConfigManager; + @Shadow private PlayerList playerList; @Shadow private ServerStatusResponse statusResponse; @Shadow @@ -72,13 +72,17 @@ public abstract class MixinMinecraftServer implements Server { @Shadow public abstract String[] getAllUsernames(); - @Override @Shadow - public abstract String getHostname(); + public abstract String getServerHostname(); + + @Override + public String getHostname() { + return this.getServerHostname(); + } @Override public int getNumPlayersOnline() { - return serverConfigManager.getCurrentPlayerCount(); + return playerList.getCurrentPlayerCount(); } @Override @@ -87,7 +91,7 @@ public int getNumPlayersOnline() { @Override public String[] getPlayerNameList() { - return serverConfigManager.getAllUsernames(); + return playerList.getAllUsernames(); } @Override @@ -212,7 +216,7 @@ public World getDefaultWorld() { @Override public ConfigurationManager getConfigurationManager() { - return (ConfigurationManager) serverConfigManager; + return (ConfigurationManager) playerList; } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java index 4d27c33..2799ce4 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java @@ -67,10 +67,8 @@ import org.apache.logging.log4j.Logger; import org.neptunepowered.vanilla.wrapper.chat.NeptuneChatComponent; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.UUID; @@ -114,70 +112,11 @@ protected abstract void setPlayerGameTypeBasedOnOther(EntityPlayerMP p_72381_1_, public abstract MinecraftServer getServerInstance(); @Shadow - public abstract void func_187243_f(EntityPlayerMP p_187243_1_); + public abstract void updatePermissionLevel(EntityPlayerMP p_187243_1_); @Shadow public abstract List getPlayerList(); - @Overwrite - public void playerLoggedOut(EntityPlayerMP playerIn) { - WorldServer worldserver = playerIn.getServerForPlayer(); - playerIn.triggerAchievement(StatList.leaveGameStat); - this.writePlayerData(playerIn); - if (playerIn.isRiding()) { - Entity uuid = playerIn.getLowestRidingEntity(); - if (uuid.func_184180_b(EntityPlayerMP.class).size() == 1) { - logger.debug("Removing player mount"); - playerIn.dismountRidingEntity(); - worldserver.removePlayerEntityDangerously(uuid); - Iterator entityplayermp = uuid.func_184182_bu().iterator(); - - while (entityplayermp.hasNext()) { - Entity entity1 = (Entity) entityplayermp.next(); - worldserver.removePlayerEntityDangerously(entity1); - } - - worldserver.getChunkFromChunkCoords(playerIn.chunkCoordX, playerIn.chunkCoordZ).setChunkModified(); - } - } - - worldserver.removeEntity(playerIn); - worldserver.getPlayerChunkManager().removePlayer(playerIn); - this.playerEntityList.remove(playerIn); - UUID uuid1 = playerIn.getUniqueID(); - EntityPlayerMP entityplayermp1 = (EntityPlayerMP) this.uuidToPlayerMap.get(uuid1); - if (entityplayermp1 == playerIn) { - this.uuidToPlayerMap.remove(uuid1); - this.playerStatFiles.remove(uuid1); - } - - // Neptune: Start - PlayerListData playerListData = ((Player) playerIn).getPlayerListData(PlayerListAction.REMOVE_PLAYER); - for (int i = 0; i < playerEntityList.size(); i++) { - EntityPlayerMP playerMP = (EntityPlayerMP) this.playerEntityList.get(i); - PlayerListHook playerListHook = new PlayerListHook(playerListData.copy(), (Player) playerMP); - - ITextComponent displayName = playerListHook.getData().displayNameSet() ? ((NeptuneChatComponent) - playerListHook.getData().getDisplayName()).getHandle() : null; - WorldSettings.GameType gameType = - WorldSettings.GameType.getByID(playerListHook.getData().getMode().getId()); - - SPacketPlayerListItem packet = - new SPacketPlayerListItem(SPacketPlayerListItem.Action.REMOVE_PLAYER); - packet.players.add(packet.new AddPlayerData( - playerListHook.getData().getProfile(), - playerListHook.getData().getPing(), - gameType, - displayName)); - } - - // Neptune: Replaced by above code - //this.sendPacketToAllPlayers(new SPacketPlayerListItem(net.minecraft.network.play.server - // .SPacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[]{playerIn})); - // Neptune: end - } - - @Overwrite public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayerMP playerIn) { GameProfile gameprofile = playerIn.getGameProfile(); PlayerProfileCache playerprofilecache = this.mcServer.getPlayerProfileCache(); @@ -186,7 +125,7 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer playerprofilecache.addEntry(gameprofile); NBTTagCompound nbttagcompound = this.readPlayerDataFromFile(playerIn); playerIn.setWorld(this.mcServer.worldServerForDimension(playerIn.dimension)); - playerIn.theItemInWorldManager.setWorld((WorldServer) playerIn.worldObj); + playerIn.interactionManager.setWorld((WorldServer) playerIn.worldObj); String s1 = "local"; if (netManager.getRemoteAddress() != null) { @@ -201,7 +140,7 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer this.setPlayerGameTypeBasedOnOther(playerIn, (EntityPlayerMP) null, worldserver); NetHandlerPlayServer nethandlerplayserver = new NetHandlerPlayServer(this.mcServer, netManager, playerIn); nethandlerplayserver.sendPacket( - new SPacketJoinGame(playerIn.getEntityId(), playerIn.theItemInWorldManager.getGameType(), + new SPacketJoinGame(playerIn.getEntityId(), playerIn.interactionManager.getGameType(), worldinfo.isHardcoreModeEnabled(), worldserver.provider.getDimensionType().getId(), worldserver.getDifficulty(), this.getMaxPlayers(), worldinfo.getTerrainType(), worldserver.getGameRules().getBoolean("reducedDebugInfo"))); @@ -212,7 +151,7 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer nethandlerplayserver.sendPacket(new SPacketSpawnPosition(blockpos)); nethandlerplayserver.sendPacket(new SPacketPlayerAbilities(playerIn.capabilities)); nethandlerplayserver.sendPacket(new SPacketHeldItemChange(playerIn.inventory.currentItem)); - this.func_187243_f(playerIn); + this.updatePermissionLevel(playerIn); playerIn.getStatFile().func_150877_d(); playerIn.getStatFile().sendAchievements(playerIn); this.sendScoreboard((ServerScoreboard) worldserver.getScoreboard(), playerIn); @@ -227,12 +166,12 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer new TextComponentTranslation("multiplayer.player.joined", new Object[]{playerIn.getDisplayName()}); } - textcomponenttranslation.getChatStyle().setColor(TextFormatting.YELLOW); + textcomponenttranslation.getStyle().setColor(TextFormatting.YELLOW); // Neptune: start ConnectionHook hook = (ConnectionHook) new ConnectionHook( - (Player) playerIn, textcomponenttranslation.getUnformattedTextForChat(), false + (Player) playerIn, textcomponenttranslation.getUnformattedText(), false ).call(); if (!hook.isHidden()) { this.sendChatMsg(textcomponenttranslation); @@ -258,8 +197,8 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer if (nbttagcompound != null) { if (nbttagcompound.hasKey("RootVehicle", 10)) { NBTTagCompound nbttagcompound1 = nbttagcompound.getCompoundTag("RootVehicle"); - Entity entity2 = AnvilChunkLoader - .func_186051_a(nbttagcompound1.getCompoundTag("Entity"), worldserver, true); + Entity entity2 = + AnvilChunkLoader.readWorldEntity(nbttagcompound1.getCompoundTag("Entity"), worldserver, true); if (entity2 != null) { UUID uuid = nbttagcompound1.getUniqueId("Attach"); @@ -267,7 +206,7 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer if (entity2.getUniqueID().equals(uuid)) { playerIn.startRiding(entity2, true); } else { - for (Entity entity : entity2.func_184182_bu()) { + for (Entity entity : entity2.getRecursivePassengers()) { if (entity.getUniqueID().equals(uuid)) { playerIn.startRiding(entity, true); break; @@ -279,14 +218,14 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer logger.warn("Couldn\'t reattach entity to player"); worldserver.removePlayerEntityDangerously(entity2); - for (Entity entity3 : entity2.func_184182_bu()) { + for (Entity entity3 : entity2.getRecursivePassengers()) { worldserver.removePlayerEntityDangerously(entity3); } } } } else if (nbttagcompound.hasKey("Riding", 10)) { Entity entity1 = - AnvilChunkLoader.func_186051_a(nbttagcompound.getCompoundTag("Riding"), worldserver, true); + AnvilChunkLoader.readWorldEntity(nbttagcompound.getCompoundTag("Riding"), worldserver, true); if (entity1 != null) { playerIn.startRiding(entity1, true); @@ -301,6 +240,64 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer // Neptune: end } + public void playerLoggedOut(EntityPlayerMP playerIn) { + WorldServer worldserver = playerIn.getServerWorld(); + playerIn.addStat(StatList.leaveGame); + this.writePlayerData(playerIn); + + if (playerIn.isRiding()) { + Entity entity = playerIn.getLowestRidingEntity(); + + if (entity.getRecursivePassengersByType(EntityPlayerMP.class).size() == 1) { + logger.debug("Removing player mount"); + playerIn.dismountRidingEntity(); + worldserver.removePlayerEntityDangerously(entity); + + for (Entity entity1 : entity.getRecursivePassengers()) { + worldserver.removePlayerEntityDangerously(entity1); + } + + worldserver.getChunkFromChunkCoords(playerIn.chunkCoordX, playerIn.chunkCoordZ).setChunkModified(); + } + } + + worldserver.removeEntity(playerIn); + worldserver.getPlayerChunkMap().removePlayer(playerIn); + this.playerEntityList.remove(playerIn); + UUID uuid = playerIn.getUniqueID(); + EntityPlayerMP entityplayermp = (EntityPlayerMP) this.uuidToPlayerMap.get(uuid); + + if (entityplayermp == playerIn) { + this.uuidToPlayerMap.remove(uuid); + this.playerStatFiles.remove(uuid); + } + + // Neptune: Start + PlayerListData playerListData = ((Player) playerIn).getPlayerListData(PlayerListAction.REMOVE_PLAYER); + for (int i = 0; i < playerEntityList.size(); i++) { + EntityPlayerMP playerMP = (EntityPlayerMP) this.playerEntityList.get(i); + PlayerListHook playerListHook = new PlayerListHook(playerListData.copy(), (Player) playerMP); + + ITextComponent displayName = playerListHook.getData().displayNameSet() ? ((NeptuneChatComponent) + playerListHook.getData().getDisplayName()).getHandle() : null; + WorldSettings.GameType gameType = + WorldSettings.GameType.getByID(playerListHook.getData().getMode().getId()); + + SPacketPlayerListItem packet = + new SPacketPlayerListItem(SPacketPlayerListItem.Action.REMOVE_PLAYER); + packet.players.add(packet.new AddPlayerData( + playerListHook.getData().getProfile(), + playerListHook.getData().getPing(), + gameType, + displayName)); + } + + // Neptune: Replaced by above code + //this.sendPacketToAllPlayers(new SPacketPlayerListItem(net.minecraft.network.play.server + // .SPacketPlayerListItem.Action.REMOVE_PLAYER, new EntityPlayerMP[]{playerIn})); + // Neptune: end + } + @Override public void sendPacketToAllInWorld(String world, Packet packet) { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java index 094c4a7..c3387e5 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/math/MixinAxisAlignedBB.java @@ -38,9 +38,6 @@ public abstract class MixinAxisAlignedBB implements BoundingBox { @Shadow public double maxY; @Shadow public double maxZ; - @Shadow - public abstract AxisAlignedBB shadow$contract(double x, double y, double z); - @Shadow public abstract AxisAlignedBB addCoord(double x, double y, double z); @@ -107,7 +104,7 @@ public BoundingBox expand(double x, double y, double z) { @Override public BoundingBox contract(double x, double y, double z) { - return (BoundingBox) shadow$contract(x, y, z); + return null; // TODO: 1.9 } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java index 1e7eaf6..764648d 100644 --- a/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java +++ b/src/main/java/org/neptunepowered/vanilla/wrapper/chat/NeptuneChatComponent.java @@ -40,12 +40,12 @@ public NeptuneChatComponent(ITextComponent chatComponent) { @Override public ChatComponent setChatStyle(ChatStyle style) { - return (ChatComponent) getHandle().setChatStyle((net.minecraft.util.text.Style) style); + return (ChatComponent) getHandle().setStyle((net.minecraft.util.text.Style) style); } @Override public ChatStyle getChatStyle() { - return (ChatStyle) getHandle().getChatStyle(); + return (ChatStyle) getHandle().getStyle(); } @Override @@ -73,7 +73,7 @@ public String getText() { @Override public String getFullText() { - return getHandle().getUnformattedTextForChat(); + return getHandle().getUnformattedText(); } @Override From 881b21567ecd81dafb8463ea2058e61dbc0990a0 Mon Sep 17 00:00:00 2001 From: Jamie Mansfield Date: Sat, 23 Apr 2016 11:01:45 +0100 Subject: [PATCH 8/8] Neptune now runs, but some things have been disabled --- .../org/neptunepowered/vanilla/Neptune.java | 7 +++--- .../canary/commandsys/MixinCanaryCommand.java | 9 +++++-- .../mixin/minecraft/entity/MixinEntity.java | 4 ++++ .../minecraft/entity/MixinEntityLiving.java | 20 +++++----------- .../entity/item/MixinEntityArmorStand.java | 11 ++------- .../entity/monster/MixinEntityWitch.java | 6 ++--- .../entity/projectile/MixinEntityArrow.java | 6 ++--- .../mixin/minecraft/potion/MixinPotion.java | 11 +++++---- .../minecraft/potion/MixinPotionEffect.java | 13 ++++++---- .../minecraft/scoreboard/MixinScore.java | 9 +++---- .../dedicated/MixinDedicatedServer.java | 3 ++- .../server/management/MixinPlayerList.java | 8 ++++--- .../mixin/minecraft/util/text/MixinStyle.java | 12 +++++----- .../world/biome/MixinBiomeGenBase.java | 24 +++++++++++-------- 14 files changed, 74 insertions(+), 69 deletions(-) diff --git a/src/main/java/org/neptunepowered/vanilla/Neptune.java b/src/main/java/org/neptunepowered/vanilla/Neptune.java index c3a6f28..2284bde 100644 --- a/src/main/java/org/neptunepowered/vanilla/Neptune.java +++ b/src/main/java/org/neptunepowered/vanilla/Neptune.java @@ -39,11 +39,9 @@ import net.canarymod.plugin.PluginLangLoader; import net.canarymod.user.OperatorsProvider; import net.canarymod.user.WhitelistProvider; -import net.minecraft.server.MinecraftServer; -import org.neptunepowered.vanilla.interfaces.minecraft.command.IMixinServerCommandManager; +import org.neptunepowered.vanilla.factory.NeptuneFactory; import org.neptunepowered.vanilla.wrapper.NeptuneTranslator; import org.neptunepowered.vanilla.wrapper.commandsys.NeptunePlayerSelector; -import org.neptunepowered.vanilla.factory.NeptuneFactory; import org.neptunepowered.vanilla.wrapper.util.NeptuneJsonNBTUtility; public class Neptune extends Canary { @@ -80,7 +78,8 @@ public Neptune() { } public void registerCanaryCommands() { - ((IMixinServerCommandManager) ((MinecraftServer) server).getCommandManager()).registerEarlyCommands(); + // ((IMixinServerCommandManager) NeptuneVanilla.getServer().getCommandManager()).registerEarlyCommands(); + // TODO: 1.9 try { this.commandManager.registerCommands(new CommandList(), getServer(), true); } catch (CommandDependencyException e) { diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java b/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java index a96a466..d86480a 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/canary/commandsys/MixinCanaryCommand.java @@ -31,6 +31,7 @@ import net.minecraft.command.ICommandSender; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; +import org.neptunepowered.vanilla.wrapper.commandsys.NeptuneCommand; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -54,6 +55,9 @@ public abstract class MixinCanaryCommand implements ICommand { @Shadow(remap = false) public abstract String getLocaleDescription(); + @Shadow(remap = false) + public abstract int compareTo(CanaryCommand o); + @Override public String getCommandName() { return this.meta.aliases()[0]; @@ -92,6 +96,7 @@ public boolean isUsernameIndex(String[] strings, int i) { } @Override - @Shadow - public abstract int compareTo(ICommand o); + public int compareTo(ICommand o) { + return this.compareTo(new NeptuneCommand(o)); + } } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java index 9291290..a011fc6 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntity.java @@ -34,6 +34,7 @@ import net.canarymod.api.world.position.Location; import net.canarymod.api.world.position.Position; import net.canarymod.api.world.position.Vector3D; +import net.minecraft.network.datasync.EntityDataManager; import net.minecraft.util.math.AxisAlignedBB; import org.spongepowered.asm.mixin.Implements; import org.spongepowered.asm.mixin.Interface; @@ -74,6 +75,9 @@ public abstract class MixinEntity implements Entity { @Shadow protected abstract boolean getFlag(int flag); + @Shadow + public abstract EntityDataManager getDataManager(); + @Override public double getX() { return posX; diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java index 3829505..3a8accc 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/MixinEntityLiving.java @@ -41,9 +41,7 @@ @Mixin(EntityLiving.class) public abstract class MixinEntityLiving extends MixinEntityLivingBase implements net.canarymod.api.entity.living.EntityLiving { - @Shadow protected float[] equipmentDropChances; @Shadow private boolean persistenceRequired; - @Shadow private ItemStack[] equipment; @Shadow protected EntityAITasks tasks; @Shadow protected EntityAITasks targetTasks; @@ -59,12 +57,6 @@ public abstract class MixinEntityLiving extends MixinEntityLivingBase implements @Shadow public abstract ItemStack getItemStackFromSlot(EntityEquipmentSlot slotIn); - @Shadow - public abstract ItemStack[] getInventory(); - - @Shadow - public abstract ItemStack shadow$getEquipmentInSlot(int slotIn); - @Shadow public abstract PathNavigate getNavigator(); @@ -100,32 +92,32 @@ public Item getItemInHand() { @Override public Item[] getEquipment() { - return (Item[]) this.getInventory(); + return null; // TODO: 1.9 } @Override public Item getEquipmentInSlot(int slot) { - return (Item) this.shadow$getEquipmentInSlot(slot); + return null; // TODO: 1.9 } @Override public void setEquipment(Item[] items) { - this.equipment = (ItemStack[]) items; + // TODO: 1.9 } @Override public void setEquipment(Item item, int slot) { - this.equipment[slot] = (ItemStack) item; + // TODO: 1.9 } @Override public float getDropChance(int slot) { - return this.equipmentDropChances[slot]; + return 0; // TODO: 1.9 } @Override public void setDropChance(int slot, float chance) { - this.equipmentDropChances[slot] = chance; + // TODO: 1.9 } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java index 26ce4a4..3588b41 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/item/MixinEntityArmorStand.java @@ -28,7 +28,6 @@ import net.canarymod.api.inventory.Item; import net.canarymod.api.world.position.Rotations; import net.minecraft.entity.item.EntityArmorStand; -import net.minecraft.item.ItemStack; import org.neptunepowered.vanilla.mixin.minecraft.entity.MixinEntityLivingBase; import org.neptunepowered.vanilla.util.converter.RotationsConverter; import org.spongepowered.asm.mixin.Mixin; @@ -44,12 +43,6 @@ public abstract class MixinEntityArmorStand extends MixinEntityLivingBase implem @Shadow private net.minecraft.util.math.Rotations leftLegRotation; @Shadow private net.minecraft.util.math.Rotations rightLegRotation; - @Shadow - public abstract ItemStack[] getInventory(); - - @Shadow - public abstract void setCurrentItemOrArmor(int slotIn, ItemStack stack); - @Shadow public abstract boolean getShowArms(); @@ -85,7 +78,7 @@ public abstract class MixinEntityArmorStand extends MixinEntityLivingBase implem @Override public Item[] getAllEquipment() { - return (Item[]) this.getInventory(); + return null; // TODO: 1.9 } @Override @@ -100,7 +93,7 @@ public Item getEquipment(Slot slot) { @Override public void setEquipment(Slot slot, Item item) { - this.setCurrentItemOrArmor(slot.ordinal(), (ItemStack) item); + // TODO: 1.9 } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/monster/MixinEntityWitch.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/monster/MixinEntityWitch.java index 6dc278b..1254bde 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/monster/MixinEntityWitch.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/monster/MixinEntityWitch.java @@ -26,18 +26,18 @@ import net.canarymod.api.entity.EntityType; import net.canarymod.api.entity.living.monster.Witch; import net.minecraft.entity.monster.EntityWitch; +import net.minecraft.network.datasync.DataParameter; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @Mixin(EntityWitch.class) public abstract class MixinEntityWitch extends MixinEntityMob implements Witch { - @Shadow - public abstract boolean getAggressive(); + @Shadow private static DataParameter IS_AGGRESSIVE; @Override public boolean isAgressive() { - return this.getAggressive(); + return this.getDataManager().get(IS_AGGRESSIVE); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/projectile/MixinEntityArrow.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/projectile/MixinEntityArrow.java index 9720ec4..b4ad720 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/projectile/MixinEntityArrow.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/entity/projectile/MixinEntityArrow.java @@ -35,7 +35,7 @@ public abstract class MixinEntityArrow extends MixinEntity implements Arrow { @Shadow public net.minecraft.entity.Entity shootingEntity; - @Shadow public int canBePickedUp; + @Shadow public EntityArrow.PickupStatus canBePickedUp; @Shadow private boolean inGround; @Shadow private int knockbackStrength; @Shadow private int ticksInGround; @@ -46,12 +46,12 @@ public abstract class MixinEntityArrow extends MixinEntity implements Arrow { @Override public boolean canPickUp() { - return this.canBePickedUp == 1 ? true : false; + return this.canBePickedUp == EntityArrow.PickupStatus.ALLOWED; } @Override public void setCanPickUp(boolean canPickUp) { - this.canBePickedUp = canPickUp == true ? 1 : 0; + this.canBePickedUp = canPickUp == true ? EntityArrow.PickupStatus.ALLOWED : EntityArrow.PickupStatus.DISALLOWED; } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java index ff9d5c0..4cd8ff2 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotion.java @@ -33,6 +33,7 @@ public abstract class MixinPotion implements net.canarymod.api.potion.Potion { @Shadow private boolean isBadEffect; + @Shadow private double effectiveness; @Override public int getID() { @@ -54,12 +55,14 @@ public boolean isBad() { } @Override - @Shadow - public abstract double getEffectiveness(); + public double getEffectiveness() { + return this.effectiveness; + } @Override - @Shadow - public abstract boolean isUsable(); + public boolean isUsable() { + return false; // TODO: 1.9 + } @Override @Shadow diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotionEffect.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotionEffect.java index fb06541..973fc83 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotionEffect.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/potion/MixinPotionEffect.java @@ -25,6 +25,7 @@ import net.canarymod.api.entity.living.LivingBase; import net.canarymod.api.potion.PotionEffect; +import net.minecraft.potion.Potion; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -36,9 +37,13 @@ public abstract class MixinPotionEffect implements PotionEffect { @Shadow public abstract String getEffectName(); - @Override @Shadow - public abstract int getPotionID(); + public abstract Potion getPotion(); + + @Override + public int getPotionID() { + return Potion.getIdFromPotion(this.getPotion()); + } @Override @Shadow @@ -50,12 +55,12 @@ public abstract class MixinPotionEffect implements PotionEffect { @Override public boolean isAmbient() { - return isAmbient; + return this.isAmbient; } @Override public String getName() { - return getEffectName(); + return this.getEffectName(); } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScore.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScore.java index 0cd15ee..4579645 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScore.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/scoreboard/MixinScore.java @@ -38,7 +38,7 @@ public abstract class MixinScore implements net.canarymod.api.scoreboard.Score { @Shadow private net.minecraft.scoreboard.ScoreObjective theScoreObjective; @Shadow - public abstract void increseScore(int amount); + public abstract void increaseScore(int amount); @Shadow public abstract void decreaseScore(int amount); @@ -49,9 +49,6 @@ public abstract class MixinScore implements net.canarymod.api.scoreboard.Score { @Shadow public abstract void setScorePoints(int points); - @Shadow - public abstract void func_96651_a(List p_96651_1_); - @Override public String getName() { return null; @@ -59,7 +56,7 @@ public String getName() { @Override public void addToScore(int toAdd) { - increseScore(toAdd); + this.increaseScore(toAdd); } @Override @@ -89,7 +86,7 @@ public Scoreboard getScoreboard() { @Override public void setReadOnlyScore(List list) { - func_96651_a(list); + // TODO: 1.9 } @Override diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java index 47d3b44..b21a71b 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/dedicated/MixinDedicatedServer.java @@ -58,6 +58,7 @@ public abstract class MixinDedicatedServer extends MinecraftServer { public void onStartServer(CallbackInfoReturnable ci) throws IOException { Canary.enableEarlyPlugins(); ((Neptune) Canary.instance()).lateInitialisation(); - Canary.enableLatePlugins(); + //Canary.enableLatePlugins(); + // TODO: 1.9 } } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java index 2799ce4..b20a01c 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/server/management/MixinPlayerList.java @@ -25,7 +25,6 @@ import com.mojang.authlib.GameProfile; import io.netty.buffer.Unpooled; -import net.canarymod.Canary; import net.canarymod.api.ConfigurationManager; import net.canarymod.api.PlayerListAction; import net.canarymod.api.PlayerListData; @@ -33,7 +32,6 @@ import net.canarymod.api.packet.Packet; import net.canarymod.api.world.DimensionType; import net.canarymod.api.world.World; -import net.canarymod.chat.MessageReceiver; import net.canarymod.hook.player.ConnectionHook; import net.canarymod.hook.player.PlayerListHook; import net.minecraft.entity.Entity; @@ -67,6 +65,7 @@ import org.apache.logging.log4j.Logger; import org.neptunepowered.vanilla.wrapper.chat.NeptuneChatComponent; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; import java.util.List; @@ -117,6 +116,7 @@ protected abstract void setPlayerGameTypeBasedOnOther(EntityPlayerMP p_72381_1_, @Shadow public abstract List getPlayerList(); + @Overwrite public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayerMP playerIn) { GameProfile gameprofile = playerIn.getGameProfile(); PlayerProfileCache playerprofilecache = this.mcServer.getPlayerProfileCache(); @@ -236,10 +236,12 @@ public void initializeConnectionToPlayer(NetworkManager netManager, EntityPlayer playerIn.addSelfToInternalCraftingInventory(); // Neptune: start - Canary.motd().sendMOTD((MessageReceiver) playerIn); + // Canary.motd().sendMOTD((MessageReceiver) playerIn); + // TODO: 1.9 // Neptune: end } + @Overwrite public void playerLoggedOut(EntityPlayerMP playerIn) { WorldServer worldserver = playerIn.getServerWorld(); playerIn.addStat(StatList.leaveGame); diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java index 8cb40f3..03e984e 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/util/text/MixinStyle.java @@ -42,8 +42,8 @@ public abstract class MixinStyle implements ChatStyle { @Shadow private Boolean underlined; @Shadow private Boolean strikethrough; @Shadow private Boolean obfuscated; - @Shadow private net.minecraft.util.text.event.ClickEvent chatClickEvent; - @Shadow private net.minecraft.util.text.event.HoverEvent chatHoverEvent; + @Shadow private net.minecraft.util.text.event.ClickEvent clickEvent; + @Shadow private net.minecraft.util.text.event.HoverEvent hoverEvent; @Shadow public abstract Style createShallowCopy(); @@ -83,12 +83,12 @@ public boolean isObfuscated() { @Override public ClickEvent getChatClickEvent() { - return (ClickEvent) chatClickEvent; + return (ClickEvent) clickEvent; } @Override public HoverEvent getChatHoverEvent() { - return (HoverEvent) chatHoverEvent; + return (HoverEvent) hoverEvent; } @Override @@ -129,13 +129,13 @@ public ChatStyle setObfuscated(boolean obfuscated) { @Override public ChatStyle setChatClickEvent(ClickEvent clickEvent) { - this.chatClickEvent = (net.minecraft.util.text.event.ClickEvent) clickEvent; + this.clickEvent = (net.minecraft.util.text.event.ClickEvent) clickEvent; return this; } @Override public ChatStyle setChatHoverEvent(HoverEvent hoverEvent) { - this.chatHoverEvent = (net.minecraft.util.text.event.HoverEvent) hoverEvent; + this.hoverEvent = (net.minecraft.util.text.event.HoverEvent) hoverEvent; return this; } diff --git a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java index cb126d4..81c0423 100644 --- a/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java +++ b/src/main/java/org/neptunepowered/vanilla/mixin/minecraft/world/biome/MixinBiomeGenBase.java @@ -28,6 +28,7 @@ import net.canarymod.api.world.World; import net.minecraft.util.math.BlockPos; import net.minecraft.world.biome.BiomeGenBase; +import org.omg.CORBA.Object; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -37,15 +38,17 @@ public abstract class MixinBiomeGenBase implements Biome { @Shadow public float temperature; - @Shadow public int biomeID; @Shadow protected boolean enableSnow; @Shadow protected boolean enableRain; - @Shadow public abstract void decorate(net.minecraft.world.World worldIn, Random p_180624_2_, BlockPos p_180624_3_); - @Shadow public abstract float getSpawningChance(); - @Shadow public abstract int getIntRainfall(); - @Shadow public abstract BiomeGenBase setTemperatureRainfall(float p_76732_1_, float p_76732_2_); - @Shadow public abstract BiomeGenBase setColor(int p_76739_1_); + @Shadow + public abstract void decorate(net.minecraft.world.World worldIn, Random p_180624_2_, BlockPos p_180624_3_); + + @Shadow + public abstract float getSpawningChance(); + + @Shadow + public abstract float shadow$getRainfall(); @Override public boolean canSpawnLightning() { @@ -64,7 +67,7 @@ public float getSpawnChance() { @Override public int getRainfall() { - return getIntRainfall(); + return Math.round(this.shadow$getRainfall()); } @Override @@ -79,12 +82,12 @@ public void decorate(World world, Random rnd, int x, int z) { @Override public BiomeType getBiomeType() { - return BiomeType.fromId((byte) biomeID); + return BiomeType.fromId((byte) BiomeGenBase.getIdForBiome((BiomeGenBase) (Object) this)); } @Override public void setTemperatureAndPrecipitation(float temp, float precipitation) { - setTemperatureRainfall(temp, precipitation); + // TODO: 1.9 } @Override @@ -109,6 +112,7 @@ public boolean canRain() { @Override public void setColor(String hexColor) { - setColor(Integer.parseInt(hexColor.replaceFirst("#", ""), 16)); + // setColor(Integer.parseInt(hexColor.replaceFirst("#", ""), 16)); + // TODO: 1.9 } }