fix: crash on server

This commit is contained in:
Timo Ley 2022-12-18 19:23:52 +01:00
parent b22426842e
commit 183494cb20
4 changed files with 25 additions and 8 deletions

View file

@ -4,6 +4,9 @@ import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side;
import mffs.base.PacketFxs;
import mffs.base.PacketFxsHandler;
import mffs.gui.GuiBiometricIdentifier; import mffs.gui.GuiBiometricIdentifier;
import mffs.gui.GuiCoercionDeriver; import mffs.gui.GuiCoercionDeriver;
import mffs.gui.GuiForceFieldProjector; import mffs.gui.GuiForceFieldProjector;
@ -26,6 +29,7 @@ import mffs.tileentity.TileEntityForceFieldProjector;
import mffs.tileentity.TileEntityForceManipulator; import mffs.tileentity.TileEntityForceManipulator;
import mffs.tileentity.TileEntityFortronCapacitor; import mffs.tileentity.TileEntityFortronCapacitor;
import mffs.tileentity.TileEntityInterdictionMatrix; import mffs.tileentity.TileEntityInterdictionMatrix;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.EntityFX; import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -36,6 +40,14 @@ import net.minecraftforge.client.MinecraftForgeClient;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
public class ClientProxy extends CommonProxy { public class ClientProxy extends CommonProxy {
@Override
public void preInit() {
ModularForceFieldSystem.channel.registerMessage(PacketFxsHandler.class, PacketFxs.class,
1, Side.CLIENT);
super.preInit();
}
@Override @Override
public void init() { public void init() {
super.init(); super.init();
@ -128,4 +140,10 @@ public class ClientProxy extends CommonProxy {
FMLClientHandler.instance().getClient().effectRenderer.addEffect(( FMLClientHandler.instance().getClient().effectRenderer.addEffect((
EntityFX) new FXHologramMoving(world, position, red, green, blue, age)); EntityFX) new FXHologramMoving(world, position, red, green, blue, age));
} }
@Override
public boolean isSneaking() {
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
return player.isSneaking();
}
} }

View file

@ -91,4 +91,8 @@ public class CommonProxy implements IGuiHandler {
public void renderHologramMoving(final World world, final Vector3 position, public void renderHologramMoving(final World world, final Vector3 position,
final float red, final float green, final float red, final float green,
final float blue, final int age) {} final float blue, final int age) {}
public boolean isSneaking() {
return false;
}
} }

View file

@ -258,7 +258,6 @@ public class ModularForceFieldSystem {
"tileInterdictionMatrix"); "tileInterdictionMatrix");
GameRegistry.registerTileEntity(TileEntityForceManipulator.class, GameRegistry.registerTileEntity(TileEntityForceManipulator.class,
"tileForceManipulator"); "tileForceManipulator");
ModularForceFieldSystem.proxy.preInit();
FluidRegistry.registerFluid(FortronHelper.FLUID_FORTRON); FluidRegistry.registerFluid(FortronHelper.FLUID_FORTRON);
@ -304,12 +303,9 @@ public class ModularForceFieldSystem {
channel = channel =
NetworkRegistry.INSTANCE.newSimpleChannel("ModularForceFieldSystem"); NetworkRegistry.INSTANCE.newSimpleChannel("ModularForceFieldSystem");
ModularForceFieldSystem.proxy.preInit();
int pkgDiscriminator = 0;
channel.registerMessage(PacketTileHandler.class, PacketTile.class, channel.registerMessage(PacketTileHandler.class, PacketTile.class,
pkgDiscriminator++, Side.SERVER); 0, Side.SERVER);
channel.registerMessage(PacketFxsHandler.class, PacketFxs.class,
pkgDiscriminator++, Side.CLIENT);
} }
@EventHandler @EventHandler

View file

@ -116,8 +116,7 @@ public class BlockForceField
final int x, final int y, final int x, final int y,
final int z) { final int z) {
if (world.isRemote) { if (world.isRemote) {
EntityPlayer player = Minecraft.getMinecraft().thePlayer; if (ModularForceFieldSystem.proxy.isSneaking()) {
if (player.isSneaking()) {
return null; return null;
} }
} }