From 373f062debb8cad2caee4f495713fb3c6f4e2954 Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Tue, 28 Jan 2014 13:27:22 -0600 Subject: [PATCH] Insulated Server from Client Entities. --- api | 2 +- block/AEBaseBlock.java | 4 ++-- block/networking/BlockCableBus.java | 4 +++- block/qnb/BlockQuantumLinkChamber.java | 20 +++++--------------- client/ClientHelper.java | 17 +++++++++++++++++ core/CommonHelper.java | 2 ++ server/ServerHelper.java | 6 ++++++ 7 files changed, 36 insertions(+), 19 deletions(-) diff --git a/api b/api index 573265e8..d9b2b144 160000 --- a/api +++ b/api @@ -1 +1 @@ -Subproject commit 573265e8d674511b455a24862a6da6710e945e58 +Subproject commit d9b2b1442347a580e89c86f1108aeaac2b2b4a82 diff --git a/block/AEBaseBlock.java b/block/AEBaseBlock.java index 5b507178..511a38ef 100644 --- a/block/AEBaseBlock.java +++ b/block/AEBaseBlock.java @@ -94,8 +94,7 @@ public class AEBaseBlock extends BlockContainer implements IAEFeature try { ResourceLocation resLoc = new ResourceLocation( Name ); - resLoc = new ResourceLocation( resLoc.getResourceDomain(), String.format( "%s/%s%s", new Object[] { "textures/blocks", - resLoc.getResourcePath(), ".png" } ) ); + resLoc = new ResourceLocation( resLoc.getResourceDomain(), String.format( "%s/%s%s", new Object[] { "textures/blocks", resLoc.getResourcePath(), ".png" } ) ); Resource res = Minecraft.getMinecraft().getResourceManager().getResource( resLoc ); if ( res != null ) @@ -464,6 +463,7 @@ public class AEBaseBlock extends BlockContainer implements IAEFeature } @Override + @SideOnly(Side.CLIENT) final public AxisAlignedBB getSelectedBoundingBoxFromPool(World w, int x, int y, int z) { ICustomCollision collisionHandler = null; diff --git a/block/networking/BlockCableBus.java b/block/networking/BlockCableBus.java index 3b0594d2..f9094564 100644 --- a/block/networking/BlockCableBus.java +++ b/block/networking/BlockCableBus.java @@ -33,6 +33,7 @@ import appeng.parts.ICableBusContainer; import appeng.parts.NullCableBusContainer; import appeng.tile.AEBaseTile; import appeng.tile.networking.TileCableBus; +import appeng.util.Platform; public class BlockCableBus extends AEBaseBlock { @@ -215,7 +216,8 @@ public class BlockCableBus extends AEBaseBlock public void setupTile() { setTileEntiy( Api.instance.partHelper.getCombinedInstance( TileCableBus.class.getName() ) ); - CommonHelper.proxy.bindTileEntitySpecialRenderer( getTileEntityClass(), this ); + if ( Platform.isClient() ) + CommonHelper.proxy.bindTileEntitySpecialRenderer( getTileEntityClass(), this ); } private ICableBusContainer cb(IBlockAccess w, int x, int y, int z) diff --git a/block/qnb/BlockQuantumLinkChamber.java b/block/qnb/BlockQuantumLinkChamber.java index c1a5f03f..840025c3 100644 --- a/block/qnb/BlockQuantumLinkChamber.java +++ b/block/qnb/BlockQuantumLinkChamber.java @@ -4,20 +4,19 @@ import java.util.EnumSet; import java.util.Random; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; import appeng.block.AEBaseBlock; import appeng.client.render.BaseBlockRender; import appeng.client.render.blocks.RenderQNB; -import appeng.client.render.effects.EnergyFx; +import appeng.core.CommonHelper; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.qnb.TileQuantumBridge; import appeng.util.Platform; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class BlockQuantumLinkChamber extends AEBaseBlock { @@ -33,6 +32,7 @@ public class BlockQuantumLinkChamber extends AEBaseBlock } @Override + @SideOnly(Side.CLIENT) public void randomDisplayTick(World w, int bx, int by, int bz, Random r) { TileQuantumBridge bridge = getTileEntity( w, bx, by, bz ); @@ -40,17 +40,7 @@ public class BlockQuantumLinkChamber extends AEBaseBlock { if ( bridge.hasQES() ) { - float x = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; - float y = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; - float z = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; - - EnergyFx fx = new EnergyFx( w, bx + x + 0.5, by + y + 0.5, bz + z + 0.5, Item.diamond ); - - fx.motionX = -x * 0.1; - fx.motionY = -y * 0.1; - fx.motionZ = -z * 0.1; - - Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx ); + CommonHelper.proxy.spawnEnergy( w, bx + 0.5, by + 0.5, bz + 0.5 ); } } } diff --git a/client/ClientHelper.java b/client/ClientHelper.java index c82b0ce6..149e14e7 100644 --- a/client/ClientHelper.java +++ b/client/ClientHelper.java @@ -7,6 +7,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.world.World; import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.common.MinecraftForge; @@ -15,6 +16,7 @@ import appeng.block.AEBaseBlock; import appeng.client.render.BaseBlockRender; import appeng.client.render.TESRWrapper; import appeng.client.render.WorldRender; +import appeng.client.render.effects.EnergyFx; import appeng.client.render.effects.LightningEffect; import appeng.client.render.entity.RenderTinyTNTPrimed; import appeng.client.texture.CableBusTextures; @@ -87,4 +89,19 @@ public class ClientHelper extends ServerHelper Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx ); } + @Override + public void spawnEnergy(World w, double posX, double posY, double posZ) + { + float x = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; + float y = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; + float z = (float) (((Platform.getRandomInt() % 100) * 0.01) - 0.5) * 0.7f; + + EnergyFx fx = new EnergyFx( w, posX + x, posY + y, posZ + z, Item.diamond ); + + fx.motionX = -x * 0.1; + fx.motionY = -y * 0.1; + fx.motionZ = -z * 0.1; + + Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx ); + } } \ No newline at end of file diff --git a/core/CommonHelper.java b/core/CommonHelper.java index b68a9848..a4cccaa4 100644 --- a/core/CommonHelper.java +++ b/core/CommonHelper.java @@ -26,4 +26,6 @@ public abstract class CommonHelper public abstract void spawnLightning(World worldObj, double posX, double posY, double posZ); + public abstract void spawnEnergy(World w, double posX, double posY, double posZ); + } diff --git a/server/ServerHelper.java b/server/ServerHelper.java index 58340bca..5cb38323 100644 --- a/server/ServerHelper.java +++ b/server/ServerHelper.java @@ -78,4 +78,10 @@ public class ServerHelper extends CommonHelper // :P } + @Override + public void spawnEnergy(World w, double posX, double posY, double posZ) + { + // :P + } + }