Jump to content

[SOLVED] A mod tried to open a gui on the server without being a NetworkMod


delemberen12

Recommended Posts

What the title said

 

Main Class:

 

 

package ccm.core.coremod;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import ccm.core.CommonProxy;

import ccm.core.block.BlockCopperWire;

import ccm.core.block.BlockGoldWire;

import ccm.core.block.BlockHollyTreeStem;

import ccm.core.block.BlockYellowStoneOre;

import ccm.core.block.BlockYellowStoneTorch;

import ccm.core.block.TileEntityCopperWire;

import ccm.core.block.TileEntityGoldWire;

import ccm.core.item.ItemRawYellowStone;

import ccm.core.item.ItemYellowStoneFiber;

import ccm.core.item.ItemYellowStoneShard;

import ccm.core.machines.BlockMacerator;

import ccm.core.machines.GuiHandler;

import ccm.core.machines.TileEntityMacerator;

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler;

import cpw.mods.fml.common.SidedProxy;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.network.NetworkMod;

import cpw.mods.fml.common.network.NetworkRegistry;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.common.registry.LanguageRegistry;

 

/**

* Defines the mod

*/

 

@NetworkMod(clientSideRequired = true, serverSideRequired = false)

@Mod(modid ="CronalatoreralCraftCore", name ="CronalatoreralCraft - Core", version ="1.6.4")

 

 

 

public class MainClass {

@SidedProxy(clientSide = "ccm.core.ClientProxy", serverSide = "ccm.core.CommonProxy")

public static CommonProxy proxy;

 

/**

* Tells what the texture id is

*/

 

public static final String modid = "cronalatoreralcraftcore";

public static MainClass instance;

/**

* Tells Minecraft Forge what these are

*/

 

//Wires

public static Block blockCopperWire;

public static Block blockGoldWire;

 

//Blocks

public static Block blockYellowStoneOre;

public static Block blockYellowStoneTorch;

public static Block blockHollyTreeStem;

public static Block blockMaceratorIdle;

public static Block blockMaceratorActive;

 

//Items

public static Item itemRawYellowStone;

public static Item itemYellowStoneShard;

public static Item itemYellowStone;

 

public static final int guiIdMacerator = 8;

 

@EventHandler

public void load(FMLInitializationEvent e) {

proxy.registerRenderInformation();

 

 

/**

* Registry for things

*/

 

//Block Registry

blockYellowStoneOre = new BlockYellowStoneOre(1500, Material.rock).setUnlocalizedName("yellowstone_ore");

blockYellowStoneTorch = new BlockYellowStoneTorch(1501).setUnlocalizedName("yellowstone_torch");

blockHollyTreeStem = new BlockHollyTreeStem(1505, Material.wood).setUnlocalizedName("holly_tree_stem");

blockCopperWire = new BlockCopperWire(1506).setUnlocalizedName("copperwire").setCreativeTab(CreativeTabs.tabBlock).setTextureName(modid + ":" + "copperwire");

blockGoldWire = new BlockGoldWire(1507).setUnlocalizedName("goldwire").setCreativeTab(CreativeTabs.tabBlock).setTextureName(modid + ":" + "goldwire");

 

registerBlock(blockYellowStoneTorch, "YellowStone Torch");

registerBlock(blockYellowStoneOre, "YellowStone Ore");

registerBlock(blockHollyTreeStem, "Holly Tree");

registerBlock(blockCopperWire, "Copper Wire");

registerBlock(blockGoldWire, "Gold Wire");

 

//Item Registry

itemRawYellowStone = new ItemRawYellowStone(1502).setUnlocalizedName("raw_yellowstone");

itemYellowStoneShard = new ItemYellowStoneShard(1503).setUnlocalizedName("yellowstone_shard");

itemYellowStone = new ItemYellowStoneFiber(1504).setUnlocalizedName("yellowstone_fiber");

 

 

registerItem(itemRawYellowStone, "Raw YellowStone");

registerItem(itemYellowStoneShard, "YellowStone Shard");

registerItem(itemYellowStone, "YellowStone");

 

GameRegistry.registerTileEntity(TileEntityCopperWire.class, "CopperWire");

GameRegistry.registerTileEntity(TileEntityGoldWire.class, "GoldWire");

 

        blockMaceratorIdle = new BlockMacerator(1041, false).setUnlocalizedName("macerator_idle").setHardness(3.7F).setCreativeTab(CreativeTabs.tabBlock);

blockMaceratorActive = new BlockMacerator(1042, true).setUnlocalizedName("macerator_active").setHardness(3.7F).setLightValue(0.9F);

 

registerBlock(blockMaceratorIdle, "Macerator");

registerBlock(blockMaceratorActive, "Macerator");

 

GameRegistry.registerTileEntity(TileEntityMacerator.class, "Macerator");

 

LanguageRegistry.instance().addStringLocalization("container.macerator", "Macerator");

 

NetworkRegistry.instance().registerGuiHandler(this, new GuiHandler());

 

//Smelting recipes

GameRegistry.addSmelting(MainClass.blockYellowStoneOre.blockID, new ItemStack (MainClass.itemRawYellowStone), 5.0F);

 

//Crafting recipes

 

GameRegistry.addRecipe(new ItemStack (itemYellowStoneShard, 1), new Object [] {

"XXX", "XXX", "XXX", 'X', MainClass.itemRawYellowStone

});

 

GameRegistry.addRecipe(new ItemStack (itemYellowStone, 1), new Object [] {

"XXX", "XXX", "XXX", 'X', MainClass.itemYellowStoneShard

});

 

}

 

public void registerBlock(Block block, String name) {

GameRegistry.registerBlock(block, block.getUnlocalizedName());

LanguageRegistry.addName(block, name);

}

 

public void registerItem(Item item, String name) {

GameRegistry.registerItem(item, item.getUnlocalizedName());

LanguageRegistry.addName(item, name);

}

 

}

 

 

Developer of MechanicalCraft.

 

Sadly not available to public yet :(

Link to comment
Share on other sites

If you use Forge 1.7.2, they have gotten rid of the @NetworkMod annotation, it is no longer needed.

Consider Updating.

 

As for 1.6.4 & @NetworkMod, i didn't create GUIs until 1.7.2 so i have never used it

Creator Of Weapons+ Mod & Sword Art Online HUD Mod

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • They were already updated, and just to double check I even did a cleanup and fresh update from that same page. I'm quite sure drivers are not the problem here. 
    • i tried downloading the drivers but it says no AMD graphics hardware has been detected    
    • Update your AMD/ATI drivers - get the drivers from their website - do not update via system  
    • As the title says i keep on crashing on forge 1.20.1 even without any mods downloaded, i have the latest drivers (nvidia) and vanilla minecraft works perfectly fine for me logs: https://pastebin.com/5UR01yG9
    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.