Skip to content

Commit

Permalink
Removed PacketAccessMode and repaired TelePad GUI
Browse files Browse the repository at this point in the history
* re #4189
  • Loading branch information
HenryLoenwind committed May 1, 2017
1 parent 772567c commit 69b138b
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 59 deletions.
4 changes: 4 additions & 0 deletions src/main/java/crazypants/enderio/network/GuiPacket.java
Expand Up @@ -148,6 +148,10 @@ public IMessage onMessage(GuiPacket message, MessageContext ctx) {
final Container openContainer = ctx.getServerHandler().playerEntity.openContainer;
if (openContainer instanceof IRemoteExec.IContainer && ((IRemoteExec.IContainer) openContainer).getGuiID() == message.guiID && message.guiID >= 0) {
((IRemoteExec.IContainer) openContainer).networkExec(message.msgID, message);
Log.debug("Exec ok (" + message.guiID + "/" + message.msgID + "/" + message.pattern + "): cont=" + openContainer);
} else {
Log.debug("Invalid network packet received (" + message.guiID + "/" + message.msgID + "/" + message.pattern + "): cont=" + openContainer + " id="
+ ((openContainer instanceof IRemoteExec.IContainer) ? ((IRemoteExec.IContainer) openContainer).getGuiID() : "n/a"));
}
return null;
}
Expand Down
Expand Up @@ -8,16 +8,22 @@
import com.enderio.core.common.TileEntityBase;

import crazypants.enderio.api.teleport.ITravelAccessable;
import crazypants.enderio.network.GuiPacket;
import crazypants.enderio.network.IRemoteExec;
import crazypants.enderio.network.PacketHandler;
import crazypants.enderio.teleport.anchor.TileTravelAnchor;
import crazypants.enderio.teleport.packet.PacketPassword;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;

public class ContainerTravelAccessable extends ContainerEnder<IInventory> {
public class ContainerTravelAccessable extends ContainerEnder<IInventory> implements IRemoteExec.IContainer {

public static final int EXEC_ACCESS_MODE = 0;

ITravelAccessable ta;
TileEntity te;
Expand Down Expand Up @@ -99,4 +105,30 @@ public void putStack(ItemStack stack) {

}

private int guiID = -1;

@Override
public void setGuiID(int id) {
guiID = id;
}

@Override
public int getGuiID() {
return guiID;
}

@Override
public void networkExec(int id, GuiPacket message) {
switch (id) {
case EXEC_ACCESS_MODE:
ta.setAccessMode(message.getEnum(0, TileTravelAnchor.AccessMode.class));
IBlockState bs = te.getWorld().getBlockState(te.getPos());
te.getWorld().notifyBlockUpdate(te.getPos(), bs, bs, 3);
te.getWorld().markChunkDirty(te.getPos(), te);
break;
default:
break;
}
}

}
Expand Up @@ -13,8 +13,8 @@
import crazypants.enderio.api.teleport.ITravelAccessable;
import crazypants.enderio.api.teleport.ITravelAccessable.AccessMode;
import crazypants.enderio.gui.GuiContainerBaseEIO;
import crazypants.enderio.network.GuiPacket;
import crazypants.enderio.network.PacketHandler;
import crazypants.enderio.teleport.packet.PacketAccessMode;
import crazypants.enderio.teleport.packet.PacketLabel;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
Expand Down Expand Up @@ -97,8 +97,7 @@ protected void actionPerformed(GuiButton b) {
AccessMode curMode = b.id == ID_PRIVATE ? AccessMode.PRIVATE : b.id == ID_PROTECTED ? AccessMode.PROTECTED : AccessMode.PUBLIC;
te.setAccessMode(curMode);

PacketAccessMode p = new PacketAccessMode(te, curMode);
PacketHandler.INSTANCE.sendToServer(p);
GuiPacket.send(this, ContainerTravelAccessable.EXEC_ACCESS_MODE, curMode);
}

@Override
Expand Down
Expand Up @@ -28,7 +28,6 @@
import crazypants.enderio.teleport.ContainerTravelAuth;
import crazypants.enderio.teleport.GuiTravelAccessable;
import crazypants.enderio.teleport.GuiTravelAuth;
import crazypants.enderio.teleport.packet.PacketAccessMode;
import crazypants.enderio.teleport.packet.PacketDrainStaff;
import crazypants.enderio.teleport.packet.PacketLabel;
import crazypants.enderio.teleport.packet.PacketOpenAuthGui;
Expand Down Expand Up @@ -63,7 +62,6 @@ public class BlockTravelAnchor<T extends TileTravelAnchor> extends BlockEio<T> i
ISmartRenderAwareBlock, IPaintable.IBlockPaintableBlock, IPaintable.IWrenchHideablePaint, IHaveRenderers, IHaveTESR {

public static BlockTravelAnchor<TileTravelAnchor> create() {
PacketHandler.INSTANCE.registerMessage(PacketAccessMode.class, PacketAccessMode.class, PacketHandler.nextID(), Side.SERVER);
PacketHandler.INSTANCE.registerMessage(PacketLabel.class, PacketLabel.class, PacketHandler.nextID(), Side.SERVER);
PacketHandler.INSTANCE.registerMessage(PacketTravelEvent.class, PacketTravelEvent.class, PacketHandler.nextID(), Side.SERVER);
PacketHandler.INSTANCE.registerMessage(PacketDrainStaff.class, PacketDrainStaff.class, PacketHandler.nextID(), Side.SERVER);
Expand Down

This file was deleted.

Expand Up @@ -42,7 +42,7 @@ public IMessage onMessage(PacketOpenServerGui message, MessageContext ctx) {
World world = message.getWorld(ctx);
TileEntity te = message.getTileEntity(world);
if(te instanceof TileTelePad) {
GuiID.byID(id).openGui(world, te.getPos(), player, null);
GuiID.byID(message.id).openGui(world, te.getPos(), player, null);
}
return null;
}
Expand Down

0 comments on commit 69b138b

Please sign in to comment.