From b42d538049603c5f3dc9c9b244b7a25227def4f7 Mon Sep 17 00:00:00 2001 From: Tschipp Date: Tue, 3 Oct 2017 17:04:53 +0200 Subject: [PATCH] Client-Server Script desync --- .../carryon/common/command/CommandCarryOn.java | 3 ++- .../carryon/common/event/ItemEntityEvents.java | 13 +++++++------ .../tschipp/carryon/common/event/ItemEvents.java | 6 +++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java b/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java index fc574a8..99b6671 100644 --- a/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java +++ b/src/main/java/tschipp/carryon/common/command/CommandCarryOn.java @@ -15,6 +15,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; +import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import tschipp.carryon.CarryOn; import tschipp.carryon.common.handler.CustomPickupOverrideHandler; import tschipp.carryon.common.handler.ModelOverridesHandler; @@ -76,7 +77,7 @@ public class CommandCarryOn extends CommandBase implements ICommand cleared += player.inventory.clearMatchingItems(RegistrationHandler.itemTile, 0, 64, null); cleared += player.inventory.clearMatchingItems(RegistrationHandler.itemEntity, 0, 64, null); - CarryOn.network.sendTo(new CarrySlotPacket(9), (EntityPlayerMP) player); + CarryOn.network.sendToAllAround(new CarrySlotPacket(9), new TargetPoint(player.world.provider.getDimension(), player.posX, player.posY, player.posZ, 256)); if (cleared != 1) player.sendMessage(new TextComponentString("Cleared " + cleared + " Items!")); diff --git a/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java b/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java index 7c9cc7f..d7dd32d 100644 --- a/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java +++ b/src/main/java/tschipp/carryon/common/event/ItemEntityEvents.java @@ -16,6 +16,7 @@ import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.common.eventhandler.Event.Result; +import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.items.CapabilityItemHandler; @@ -91,21 +92,21 @@ public class ItemEntityEvents { if (ItemEntity.storeEntityData(entity, world, stack)) { - if(entity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null)) + if (entity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null)) { IItemHandler handler = entity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); - for(int i = 0; i < handler.getSlots(); i++) + for (int i = 0; i < handler.getSlots(); i++) { handler.extractItem(i, 64, false); } } - + CarryOnOverride override = ScriptChecker.inspectEntity(entity); int overrideHash = 0; - if(override != null) + if (override != null) overrideHash = override.hashCode(); - - CarryOn.network.sendTo(new CarrySlotPacket(player.inventory.currentItem, overrideHash), (EntityPlayerMP) player); + + CarryOn.network.sendToAllAround(new CarrySlotPacket(player.inventory.currentItem, overrideHash), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256)); entity.setDead(); player.setHeldItem(EnumHand.MAIN_HAND, stack); event.setCanceled(true); diff --git a/src/main/java/tschipp/carryon/common/event/ItemEvents.java b/src/main/java/tschipp/carryon/common/event/ItemEvents.java index 667446e..86bc1b4 100644 --- a/src/main/java/tschipp/carryon/common/event/ItemEvents.java +++ b/src/main/java/tschipp/carryon/common/event/ItemEvents.java @@ -23,9 +23,9 @@ import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.common.eventhandler.Event.Result; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import tschipp.carryon.CarryOn; import tschipp.carryon.client.keybinds.CarryOnKeybinds; -import tschipp.carryon.common.handler.ListHandler; import tschipp.carryon.common.handler.PickupHandler; import tschipp.carryon.common.handler.RegistrationHandler; import tschipp.carryon.common.item.ItemTile; @@ -123,7 +123,7 @@ public class ItemEvents try { - CarryOn.network.sendTo(new CarrySlotPacket(player.inventory.currentItem, overrideHash), (EntityPlayerMP) player); + CarryOn.network.sendToAllAround(new CarrySlotPacket(player.inventory.currentItem, overrideHash), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256)); world.removeTileEntity(pos); world.setBlockToAir(pos); player.setHeldItem(EnumHand.MAIN_HAND, stack); @@ -132,7 +132,7 @@ public class ItemEvents } catch (Exception e) { - CarryOn.network.sendTo(new CarrySlotPacket(9), (EntityPlayerMP) player); + CarryOn.network.sendToAllAround(new CarrySlotPacket(9), new TargetPoint(world.provider.getDimension(), player.posX, player.posY, player.posZ, 256)); world.setBlockState(pos, statee); if (!tag.hasNoTags()) TileEntity.create(world, tag);