Everything posted by MineDen
-
[1.12.1] NBT Reading Problem
Sorry, this is problem with GitHub.
-
[1.12.1] NBT Reading Problem
I'm now using zero-argument constructor, but energy again restores to 0. UPD: I created zero-argument constructor and it deleted! What?
-
[1.12.1] NBT Reading Problem
1. I want to optimize code, like this: energy_cell = new AutoBlockEnergy("energy_cell", CreativeTabs.DECORATIONS, 10000, 100); adv_energy_cell = new AutoBlockEnergy("adv_energy_cell", CreativeTabs.DECORATIONS, 20000, 150); ultimate_energy_cell = new AutoBlockEnergy("ultimate_energy_cell", CreativeTabs.DECORATIONS, 40000, 300); 2. I just testing. I don't want to implement energy generator/consumer right now.
-
[1.12.1] NBT Reading Problem
Published. See here.
-
[1.12.1] NBT Reading Problem
Okay. I explained it, because most mod developers using Eclipse. But I using IDEA, because it has some extra features like hot swap, gradle commands running etc.
-
[1.12.1] NBT Reading Problem
Good. Wait a minute. After downloading, if you use IDEA, open build.gradle of project and in gradle panel run needed commands. If you working in Eclipse, run gradlew setupDecompWorkspace eclipse.
-
[1.12.1] NBT Reading Problem
Fortunately, I already have a GitHub account. What files I need to upload? All workspace [/] Src folder [/src/] Only code [/src/main/] My package [/src/main/com/mineden/mtest/]
-
Galacticraft Not Working
Then I don't understand, why galacticraft requires additional mods. Try to search "Galacticraft Mars" (with spaces).
-
Galacticraft Not Working
Do you have Micdoodle core and Galacticraft Planets installed?
-
Galacticraft Not Working
Tell me your minecraft version.
-
[1.12.1] NBT Reading Problem
This don't worked for me.
-
[1.12.1] NBT Reading Problem
I override this methods, but energy still don't saving. Another problem: my tileentity don't updates before I open GUI. Is this problem can cause other problems?
-
[1.12.1] NBT Reading Problem
- [1.12.1] NBT Reading Problem
I tried to add energy on server side (when tileentity updates) and energy doesn't saves. No errors in log. On client side NBT is always 0.- [1.12.1] NBT Reading Problem
I'm try to use both server and client side. For additional info: I'm working in IntelliJ IDEA 2016.3, using Hot Swap feature, but it not works when deleting methods. So, I need to restart Minecraft to apply changes.- [1.12.1] NBT Reading Problem
Another question: on what side I need to add/set/get/remove energy?- [1.12.1] NBT Reading Problem
Thanks! OFFTOP: Can I use non 16x16 textures, ex. 32x32?- [1.12.1] NBT Reading Problem
Now I have side problems. On client side NBT saving properly, but on server side energy always 10000. When I adding energy on server side, energy shows on gui, but don't saves on client side before world reloading, after reloading it's always 10000. When I adding energy on client side, energy saves properly, but don't shows on gui and don't sync with server, after world reload on server always 10000. How I can properly sync energy?- [1.12.1] NBT Reading Problem
Now I understand. Also I see "no method" errors in log. Are I need to create this constructor? public AutoTEEnergy(){ storage = new MEnergyStorage(this.capacity, this.transferSpeed); } I think, that in this case capacity and transferSpeed don't saved, and when I add some other energy cells with other capacity and transfer speed, this can cause problems.- [1.12.1] NBT Reading Problem
[/] TestMod (Main File): package com.mineden.mtest; import com.mineden.mtest.blocks.MBlocks; import com.mineden.mtest.gui.MGuiHandler; import com.mineden.mtest.items.MItems; import com.mineden.mtest.proxy.CommonProxy; import com.mineden.mtest.recipes.RegRecipes; import com.mineden.mtest.tileentity.MTileEntities; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; @Mod(modid = ModInfo.MOD_ID, name = ModInfo.MOD_NAME, version = ModInfo.MOD_VERSION) public class TestMod { @SidedProxy(clientSide = ModInfo.CPROXY, serverSide = ModInfo.SPROXY) public static CommonProxy proxy; @Mod.Instance public static TestMod instance; @Mod.EventHandler public void preInit(FMLPreInitializationEvent event){ MTileEntities.init(); MTileEntities.register(); MBlocks.init(); MBlocks.register(); MItems.init(); MItems.register(); RegRecipes.register(); } @Mod.EventHandler public void init(FMLInitializationEvent event){ proxy.init(); NetworkRegistry.INSTANCE.registerGuiHandler(instance, new MGuiHandler()); MBlocks.lead_ore_generator.register(); } @Mod.EventHandler public void postInit(FMLPostInitializationEvent event){ } } [/tileentity/] MTileEntities (Registration): package com.mineden.mtest.tileentity; import com.mineden.mtest.blocks.AutoBlockEnergy; import com.mineden.mtest.gui.MGuiHandler; import net.minecraft.creativetab.CreativeTabs; public class MTileEntities { public static AutoBlockEnergy energy_cell_te; public static void init(){ energy_cell_te = new AutoBlockEnergy("energy_cell", CreativeTabs.DECORATIONS, 2.8F, MGuiHandler.ENERGY_CELL_GUI); } public static void register(){ energy_cell_te.register(); } } [/blocks/] AutoBlockEnergy (Energy Cell block): package com.mineden.mtest.blocks; import com.mineden.mtest.ModInfo; import com.mineden.mtest.TestMod; import com.mineden.mtest.tileentity.AutoTEEnergy; import net.minecraft.block.Block; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; public class AutoBlockEnergy extends Block implements ITileEntityProvider { private int guiId; public AutoBlockEnergy(String unlocName, CreativeTabs creativeTab, float hardness, int guiId) { super(Material.ROCK); this.setUnlocalizedName(unlocName); this.setRegistryName(this.getUnlocalizedName().substring(5)); this.setCreativeTab(creativeTab); this.setHardness(hardness); this.setHarvestLevel("pickaxe", 0); this.guiId = guiId; } @Override public TileEntity createNewTileEntity(World worldIn, int meta) { return new AutoTEEnergy(10000, 100); } public void register() { ForgeRegistries.BLOCKS.register(this); Item iBlock = new ItemBlock(this); iBlock.setRegistryName(this.getRegistryName()); ForgeRegistries.ITEMS.register(iBlock); GameRegistry.registerTileEntity(AutoTEEnergy.class, this.getUnlocalizedName().substring(5)); ModelResourceLocation MRL = new ModelResourceLocation(ModInfo.MOD_ID + ":" + iBlock.getUnlocalizedName().substring(5), "invertory"); ModelLoader.setCustomModelResourceLocation(iBlock, 0, MRL); } public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ){ if(!world.isRemote && pos != null) { player.sendMessage(new TextComponentString("AutoBlockEnergy activated")); player.openGui(TestMod.instance, this.guiId, world, pos.getX(), pos.getY(), pos.getZ()); } else{ if(pos != null) { player.openGui(TestMod.instance, this.guiId, world, pos.getX(), pos.getY(), pos.getZ()); } } return true; } } [/blocks/] AutoBlock (Addditional methods): package com.mineden.mtest.blocks; import com.mineden.mtest.ModInfo; import net.minecraft.block.Block; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; public class AutoBlock extends Block{ public AutoBlock(MapColor blockMapColorIn, String unlocName, CreativeTabs creativeTab, float hardness) { super(Material.ROCK, blockMapColorIn); this.setUnlocalizedName(unlocName); this.setRegistryName(this.getUnlocalizedName().substring(5)); this.setCreativeTab(creativeTab); this.setHardness(hardness); this.setHarvestLevel("pickaxe", 0); } public void register(){ ForgeRegistries.BLOCKS.register(this); Item iBlock = new ItemBlock(this); iBlock.setRegistryName(this.getRegistryName()); ForgeRegistries.ITEMS.register(iBlock); ModelResourceLocation MRL = new ModelResourceLocation(ModInfo.MOD_ID + ":" + iBlock.getUnlocalizedName().substring(5), "invertory"); ModelLoader.setCustomModelResourceLocation(iBlock, 0, MRL); } public void addShapedCraft(String craftName, Object... input){ ResourceLocation name = new ResourceLocation(ModInfo.MOD_ID + ":" + craftName); ItemStack recipeIS = new ItemStack(Item.getItemFromBlock(this), 1); GameRegistry.addShapedRecipe(name, null, recipeIS, input); } public void addShapelessCraft(String craftName, Ingredient... ingredients){ ResourceLocation name = new ResourceLocation(ModInfo.MOD_ID + ":" + craftName); ItemStack recipeIS = new ItemStack(Item.getItemFromBlock(this), 1); GameRegistry.addShapelessRecipe(name, null, recipeIS, ingredients); } public void addSmelting(Item input){ ItemStack outputIS = new ItemStack(Item.getItemFromBlock(this), 1); ItemStack inputIS = new ItemStack(input, 1); GameRegistry.addSmelting(inputIS, outputIS, 0.8F); } } [/tileentity/] AutoTEEnergy (Energy Cell TileEntity): package com.mineden.mtest.tileentity; import com.mineden.mtest.MEnergyStorage; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ITickable; public class AutoTEEnergy extends TileEntity implements ITickable{ public MEnergyStorage storage; private int capacity = 10000; private int transferSpeed = 100; public AutoTEEnergy(int capacity, int transferSpeed){ storage = new MEnergyStorage(capacity, transferSpeed); this.capacity = capacity; this.transferSpeed = transferSpeed; } @Override public NBTTagCompound writeToNBT(NBTTagCompound nbt){ nbt.setInteger("Energy", this.storage.getEnergy()); super.writeToNBT(nbt); return nbt; } @Override public void readFromNBT(NBTTagCompound nbt){ int energy = nbt.getInteger("Energy"); this.storage.setEnergy(energy); super.readFromNBT(nbt); } @Override public void update(){ if(this.world != null){ this.storage.addEnergy(1); this.markDirty(); } } } [/] ModInfo (Reference): package com.mineden.mtest; public class ModInfo { public static final String MOD_ID = "mtest"; public static final String MOD_NAME = "Energy Mod Test"; public static final String MOD_VERSION = "1.1.25"; public static final String CPROXY = "com.mineden.mtest.proxy.ClientProxy"; public static final String SPROXY = "com.mineden.mtest.proxy.CommonProxy"; }- [1.12.1] NBT Reading Problem
I'm working on other computer, but I can provide zip with code or code files.- [1.12.1] NBT Reading Problem
*SORRY FOR MY ENGLISH* Hello, I have problems with NBT reading. Log says, that my mod "throws an exception" during loading. [Server thread/ERROR] [FML]: A TileEntity minecraft:energy_cell(com.mineden.mtest.tileentity.AutoTEEnergy) has thrown an exception during loading, its state cannot be restored. java.lang.InstantiationException: com.mineden.mtest.tileentity.AutoTEEnergy at ... I tried to use other solutions, but that isn't worked for me. Can anyone help me? What files I need to provide? I'm developing an small energy mod, I have problems with Forge Energy and capabilities, my GUI shows enegy level properly, but there is problems with receiving and extracting energy. So, I writed my own energy storage class, and it's working properly. But after world restart, NBT deleting. - [1.12.1] NBT Reading Problem
IPS spam blocked by CleanTalk.
Important Information
By using this site, you agree to our Terms of Use.