Jump to content

Wilfsadude

Members
  • Posts

    27
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Wilfsadude's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. i fixed it by adding if (this.cookTime >= 25) {this.cookTime = 0;} to my update() void
  2. well by printing to the config i worked out it changes to 1213223344556778889910101111121213131414151516171718181819192020212122232324242400. public void update() { if (!handler.getStackInSlot(0).isEmpty() && isItemFuel(handler.getStackInSlot(0))) { cookTime++; if (cookTime == 25) { energy += getFuelValue(handler.getStackInSlot(0)); handler.getStackInSlot(0).shrink(1); cookTime = 0; } System.out.print(cookTime); } } here is the update bit i reckon its wrong here
  3. minecraft now just crashes when i launch my game
  4. my gui is doing wierd stuff. @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { String tileName = this.tileentity.getDisplayName().getUnformattedText(); this.fontRenderer.drawString(tileName, (this.xSize / 2 - this.fontRenderer.getStringWidth(tileName) / 2) -5, 6, 4210752); this.fontRenderer.drawString(this.player.getDisplayName().getUnformattedText(), 7, this.ySize - 96 + 2, 4210752); this.fontRenderer.drawString(Integer.toString(this.tileentity.getEnergyStored()), 115, 72, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f); this.mc.getTextureManager().bindTexture(TEXTURES); this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize); int l = this.getCookProgressScaled(24); this.drawTexturedModalRect(this.guiLeft + 113, this.guiTop + 32, 176, 14, l + 1, 16); int k = this.getEnergyStoredScaled(75); this.drawTexturedModalRect(this.guiLeft + 152, this.guiTop + 7, 176, 32, 16, 76 - k); } private int getEnergyStoredScaled(int pixels) { int i = this.tileentity.getEnergyStored(); int j = this.tileentity.getMaxEnergyStored(); return i != 0 && j != 0 ? i * pixels / j : 0; } private int getCookProgressScaled(int pixels) { int i = this.tileentity.cookTime; if (i == 0) {return 0;} return i * pixels / 25; } i think CookProgressScaled sometimes returns minus? anyway i attached a file of what it looks like
  5. i dont think i have a block state container and i cant find the debug log. i am using intellij
  6. sorry this is my block state { "variants": { "facing=north": { "model": "mm:redstone_generator" }, "facing=east": { "model": "mm:redstone_generator", "y": 90 }, "facing=south": { "model": "mm:redstone_generator", "y": 180 }, "facing=west": { "model": "mm:redstone_generator", "y": 270 } } }
  7. Block State { "parent": "block/orientable", "textures": { "particle": "mm:blocks/sintering_furnace_side", "up": "mm:blocks/sintering_furnace_side", "down": "mm:blocks/sintering_furnace_side", "north": "mm:blocks/redstone_generator_front_off", "east": "mm:blocks/sintering_furnace_side", "south": "mm:blocks/sintering_furnace_side", "west": "mm:blocks/sintering_furnace_side" } }
  8. [main/ERROR] [FML]: Exception loading model for variant mm:redstone_generator#normal for blockstate "mm:redstone_generator" net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model mm:redstone_generator#normal with loader VariantLoader.INSTANCE, skipping at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:153) ~[ModelLoaderRegistry.class:?] at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:237) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelBakery.loadBlock(ModelBakery.java:153) ~[ModelBakery.class:?] at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:225) ~[ModelLoader.class:?] at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:152) ~[ModelLoader.class:?] at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?] at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_172] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_172] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_172] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_172] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_172] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_172] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_172] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_172] at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?] at GradleStart.main(GradleStart.java:25) [start/:?] Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?] at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1182) ~[ModelLoader$VariantLoader.class:?] at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:149) ~[ModelLoaderRegistry.class:?] ... 21 more i get this error when trying to launch and my block is un textured. How do i fix
  9. So I need to put in if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)return (T)this.handler
  10. sorry to bother you again but i have made a new gui and it crashes when i open the block. Crash Report: ---- Minecraft Crash Report ---- // Ouch. That hurt :( Time: 9/9/18 9:46 AM Description: Ticking player java.lang.NullPointerException: Ticking player at net.minecraftforge.items.SlotItemHandler.getStack(SlotItemHandler.java:79) at net.minecraft.inventory.Container.detectAndSendChanges(Container.java:97) at me.Wilfsadude.MyMod.Blocks.Energy.ContainerRedstoneGenerator.detectAndSendChanges(ContainerRedstoneGenerator.java:53) at net.minecraft.entity.player.EntityPlayerMP.onUpdate(EntityPlayerMP.java:365) at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2168) at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:871) at net.minecraft.world.World.updateEntity(World.java:2127) at net.minecraft.world.WorldServer.tickPlayers(WorldServer.java:672) at net.minecraft.world.World.updateEntities(World.java:1903) at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:643) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:842) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592) at java.lang.Thread.run(Thread.java:748) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at net.minecraftforge.items.SlotItemHandler.getStack(SlotItemHandler.java:79) at net.minecraft.inventory.Container.detectAndSendChanges(Container.java:97) at me.Wilfsadude.MyMod.Blocks.Energy.ContainerRedstoneGenerator.detectAndSendChanges(ContainerRedstoneGenerator.java:53) at net.minecraft.entity.player.EntityPlayerMP.onUpdate(EntityPlayerMP.java:365) at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2168) at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:871) at net.minecraft.world.World.updateEntity(World.java:2127) -- Player being ticked -- Details: Entity Type: null (net.minecraft.entity.player.EntityPlayerMP) Entity ID: 224 Entity Name: Player66 Entity's Exact location: -193.74, 110.00, 420.20 Entity's Block location: World: (-194,110,420), Chunk: (at 14,6,4 in -13,26; contains blocks -208,0,416 to -193,255,431), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.00, -0.08, 0.00 Entity's Passengers: [] Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.world.WorldServer.tickPlayers(WorldServer.java:672) at net.minecraft.world.World.updateEntities(World.java:1903) at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:643) -- Affected level -- Details: Level name: New World All players: 1 total; [EntityPlayerMP['Player66'/224, l='New World', x=-193.74, y=110.00, z=420.20]] Chunk stats: ServerChunkCache: 925 Drop: 0 Level seed: -8751245432881597772 Level generator: ID 00 - default, ver 1. Features enabled: true Level generator options: Level spawn location: World: (203,64,284), Chunk: (at 11,4,12 in 12,17; contains blocks 192,0,272 to 207,255,287), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 88306 game time, 88306 day time Level dimension: 0 Level storage version: 0x04ABD - Anvil Level weather: Rain time: 67671 (now: false), thunder time: 103579 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Stacktrace: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:842) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592) at java.lang.Thread.run(Thread.java:748) -- System Details -- Details: Minecraft Version: 1.12.2 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_172, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 494818048 bytes (471 MB) / 1469579264 bytes (1401 MB) up to 3787980800 bytes (3612 MB) JVM Flags: 0 total; IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94 FML: MCP 9.42 Powered by Forge 14.23.4.2705 5 mods loaded, 5 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored | State | ID | Version | Source | Signature | |:--------- |:--------- |:------------ |:-------------------------------- |:--------- | | UCHIJAAAA | minecraft | 1.12.2 | minecraft.jar | None | | UCHIJAAAA | mcp | 9.42 | minecraft.jar | None | | UCHIJAAAA | FML | 8.0.99.99 | forgeSrc-1.12.2-14.23.4.2705.jar | None | | UCHIJAAAA | forge | 14.23.4.2705 | forgeSrc-1.12.2-14.23.4.2705.jar | None | | UCHIJAAAA | mm | 1.0 | modid-1.0.jar | None | Loaded coremods (and transformers): GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread. Profiler Position: N/A (disabled) Player Count: 1 / 8; [EntityPlayerMP['Player66'/224, l='New World', x=-193.74, y=110.00, z=420.20]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' Contianer class: public class ContainerRedstoneGenerator extends Container { private final TileEntityRedstoneGenerator tileentity; private int energy, cookTime; public ContainerRedstoneGenerator(InventoryPlayer player, TileEntityRedstoneGenerator tileentity) { this.tileentity = tileentity; IItemHandler handler = tileentity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); this.addSlotToContainer(new SlotItemHandler(handler, 0, 80, 33)); for(int y = 0; y < 3; y++) { for(int x = 0; x < 9; x++) { this.addSlotToContainer(new Slot(player, x + y*9 + 9, 8 + x*18, 84 + y*18)); } } for(int x = 0; x < 9; x++) { this.addSlotToContainer(new Slot(player, x, 8 + x * 18, 142)); } } @Override public boolean canInteractWith(EntityPlayer playerIn) { return this.tileentity.isUsableByPlayer(playerIn); } @Override public void updateProgressBar(int id, int data) { this.tileentity.setField(id, data); } @Override public void detectAndSendChanges() { super.detectAndSendChanges(); for(int i = 0; i < this.listeners.size(); ++i) { IContainerListener listener = (IContainerListener)this.listeners.get(i); if(this.energy != this.tileentity.getField(0)) listener.sendWindowProperty(this, 0, this.tileentity.getField(0)); if(this.cookTime != this.tileentity.getField(1)) listener.sendWindowProperty(this, 1, this.tileentity.getField(1)); } this.energy = this.tileentity.getField(0); this.cookTime = this.tileentity.getField(1); } @Override public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) { ItemStack stack = ItemStack.EMPTY; Slot slot = (Slot)this.inventorySlots.get(index); if(slot != null && slot.getHasStack()) { ItemStack stack1 = slot.getStack(); stack = stack1.copy(); if(index >= 0 && index < 27) { if(!this.mergeItemStack(stack1, 27, 36, false)) return ItemStack.EMPTY; } else if(index >= 27 && index < 36) { if(!this.mergeItemStack(stack1, 0, 27, false)) return ItemStack.EMPTY; } else if(!this.mergeItemStack(stack1, 0, 36, false)) { return ItemStack.EMPTY; } if(stack1.isEmpty()) slot.putStack(ItemStack.EMPTY); else slot.onSlotChanged(); if(stack1.getCount() == stack.getCount()) return ItemStack.EMPTY; slot.onTake(playerIn, stack1); } return stack; } } Gui Class: public class GuiRedstoneGenerator extends GuiContainer { private static final ResourceLocation TEXTURES = new ResourceLocation(Reference.MOD_ID + ":textures/gui/redstone_generator.png"); private final InventoryPlayer player; private final TileEntityRedstoneGenerator tileentity; public GuiRedstoneGenerator(InventoryPlayer player, TileEntityRedstoneGenerator tileentity) { super(new ContainerRedstoneGenerator(player, tileentity)); this.player = player; this.tileentity = tileentity; } @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { String tileName = this.tileentity.getDisplayName().getUnformattedText(); this.fontRenderer.drawString(tileName, (this.xSize / 2 - this.fontRenderer.getStringWidth(tileName) / 2) -5, 6, 4210752); this.fontRenderer.drawString(this.player.getDisplayName().getUnformattedText(), 7, this.ySize - 96 + 2, 4210752); this.fontRenderer.drawString(Integer.toString(this.tileentity.getEnergyStored()), 115, 72, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f); this.mc.getTextureManager().bindTexture(TEXTURES); this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize); int l = this.getCookProgressScaled(24); this.drawTexturedModalRect(this.guiLeft + 113, this.guiTop + 32, 176, 14, l + 1, 16); int k = this.getEnergyStoredScaled(75); this.drawTexturedModalRect(this.guiLeft + 152, this.guiTop + 7, 176, 32, 16, 76 - k); } private int getEnergyStoredScaled(int pixels) { int i = this.tileentity.getEnergyStored(); int j = this.tileentity.getMaxEnergyStored(); return i != 0 && j != 0 ? i * pixels / j : 0; } private int getCookProgressScaled(int pixels) { int i = this.tileentity.cookTime; return i != 0 ? i * pixels / 25 : 0; } } Tile Entity Class public class TileEntityRedstoneGenerator extends TileEntity implements ITickable { public ItemStackHandler handler = new ItemStackHandler(1); private CustomEnergyStorage storage = new CustomEnergyStorage(100000); public int energy = storage.getEnergyStored(); private String customName; public int cookTime; @Override public void update() { if (!handler.getStackInSlot(0).isEmpty() && isItemFuel(handler.getStackInSlot(0))) { cookTime++; if (cookTime == 25) { energy += getFuelValue(handler.getStackInSlot(0)); handler.getStackInSlot(0).shrink(1); cookTime = 0; } } } private boolean isItemFuel(ItemStack stack) { return getFuelValue(stack) > 0; } private int getFuelValue(ItemStack stack) { if (stack.getItem() == Items.REDSTONE) return 500; else return 0; } @Override public <T> T getCapability(Capability<T> capability, EnumFacing facing) { if (capability == CapabilityEnergy.ENERGY) return (T)this.storage; return super.getCapability(capability, facing); } @Override public boolean hasCapability(Capability<?> capability, EnumFacing facing) { if (capability == CapabilityEnergy.ENERGY) return true; if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return true; return super.hasCapability(capability, facing); } @Override public NBTTagCompound writeToNBT(NBTTagCompound compound) { super.writeToNBT(compound); compound.setTag("Inventory", this.handler.serializeNBT()); compound.setInteger("CookTime", cookTime); compound.setInteger("GuiEnergy", this.energy); compound.setString("Name", getDisplayName().toString()); this.storage.writeToNBT(compound); return compound; } @Override public void readFromNBT(NBTTagCompound compound) { super.readFromNBT(compound); this.handler.deserializeNBT(compound.getCompoundTag("Inventory")); this.cookTime = compound.getInteger("CookTime"); this.energy = compound.getInteger("Energy"); this.customName = compound.getString("Name"); this.storage.readFromNBT(compound); } @Override public ITextComponent getDisplayName() { return new TextComponentTranslation("container.redstone_generator"); } public int getEnergyStored() { return this.energy; } public int getMaxEnergyStored() { return this.storage.getMaxEnergyStored(); } public int getField(int id) { switch (id) { case 0: return this.energy; case 1: return this.cookTime; default: return 0; } } public void setField(int id, int value) { switch (id) { case 0: this.energy = value; case 1: this.cookTime = value; } } public boolean isUsableByPlayer(EntityPlayer player) { return this.world.getTileEntity(this.pos) != this ? false : player.getDistanceSq((double)this.pos.getX() + 0.5D, (double)this.pos.getY() + 0.5D, (double)this.pos.getZ() + 0.5D) <= 64.0D; } } Please help. I am guessing it is something wrong with the container class but i dont know what
  11. public class SinteringFurnaceRecipes { private static final SinteringFurnaceRecipes INSTANCE = new SinteringFurnaceRecipes(); private final List<Triple<ItemStack, ItemStack, ItemStack>> smeltingList = new ArrayList<>(); private final Map<ItemStack, Float> experienceList = Maps.<ItemStack, Float>newHashMap(); public static SinteringFurnaceRecipes getInstance() { return INSTANCE; } private SinteringFurnaceRecipes() { addSinteringRecipe(new ItemStack(ModBlocks.RUBY_ORE), new ItemStack(Items.DIAMOND), new ItemStack(ModItems.RUBY), 5.0F); } public void addSinteringRecipe(ItemStack input1, ItemStack input2, ItemStack result, float experience) { if(getSinteringResult(input1, input2) != ItemStack.EMPTY) return; this.smeltingList.add(Triple.of(input1, input2, result)); this.experienceList.put(result, Float.valueOf(experience)); } public ItemStack getSinteringResult(ItemStack input1, ItemStack input2) { for(Triple<ItemStack, ItemStack, ItemStack> triple : smeltingList) { if(this.compareItemStacks(input1, (ItemStack)triple.getLeft())) { for(Triple<ItemStack, ItemStack, ItemStack> triple1 : smeltingList) { if(this.compareItemStacks(input2, (ItemStack)triple.getMiddle())) { return (ItemStack)triple.getRight(); } } } } return ItemStack.EMPTY; } private boolean compareItemStacks(ItemStack stack1, ItemStack stack2) { return stack2.getItem() == stack1.getItem() && (stack2.getMetadata() == 32767 || stack2.getMetadata() == stack1.getMetadata()); } public List<Triple<ItemStack, ItemStack, ItemStack>> getDualSmeltingList() { return this.smeltingList; } public float getSinteringExperience(ItemStack stack) { for (Map.Entry<ItemStack, Float> entry : this.experienceList.entrySet()) { if(this.compareItemStacks(stack, (ItemStack)entry.getKey())) { return ((Float)entry.getValue()).floatValue(); } } return 0.0F; } } think i have done it all correct please check
×
×
  • Create New...

Important Information

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