Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Drachenbauer

Members
  • Joined

  • Last visited

Everything posted by Drachenbauer

  1. Now i can place the wing stand in my little test-world and it looks alright. But a rightclick opens the common brewing-stand-window and not my modifyed one...
  2. I mean, i don´t know, wich numbers instde theese blits are the position for displaying the graphics. Is the blaze input the little horizontal bar below the bubbles? If yes, i moved it together with the bubbles. And i wonder, why there is a longer spiral-wire at the right side of the graphic, where the overlays are?
  3. In the BrewingStandBloch i find "BlockStateProperties.HAS_BOTTLE_0" and the same with 1 and 2. It seems like BlockStateProperties is a vanilla-class How do i add one more for the fourth bottle? And for the TileEntity: I extend LockableTileEntity, because if i extend BrewingStandTileEntity, i cannot pass my TileEntityType to the constructor. So i copied the whoole code of BrewingStandTileEntity into my one. But i´m not sure, where i have to do some changes to add one more inventory-slot Edit I had to change the position of the bubbles and the arrow on the brewingstand-window a bit to fit four slots. Wich values on my screen-class (copy of the brewingstand´s screen-class) must i change to change the positions for the white overlays?
  4. But i don´t know any lambda expressions, that i can place at the initialization of an array Sometimes i get errors, even, if i try to access the id of one of theese registry-objects instead of the registry name of the block.... edit: now i noticed, this now happens only at trying to access the RegistryObjects of the full pots, wich are registered in a seccond, nested for-loop.
  5. I don´t know, where else i should place the for-loops in this case. I cannot place them directly inside the class-body. and if i create a method for them, i don´t know where to call this method. Is there any way to put them directly into the initialisation of the array or list?
  6. How can i use for-loops without using a static { } ?
  7. I´m not sure, if they are even registered if in lists or arrays. Edit: i noticed, Object not present errors appear, if i try to access the blocks inside a static { } in the class with the item-registries, but not inside public static final class-fields there. For a test I added this static thing to the item registry-class of a working mod and tried to access a block inside there by using it´s registryname as a console-output. This made an Object not present error. Edit: if i keep,the items as separate class-fields, but the blocks in an array or list, i get a NullPointerException at the method, that registers the full pots and plants to the empty pots. And if i comment out this methode for a test, i get this error:
  8. My repository again: https://github.com/Drachenbauer/ColoredFlowerPotsMod I noticed, if i register each block in it´s own public static final class-field of RegistryObject<FlowerpotBlock>, i can access their block-instances in the class with the item-registry at registering the BlockItems in similar fields of of RegistryObject<BlockItem> (look at commeted out parts of the code). But if i pack all block-registries for the enpty flowerpots into an array RegistryObject<FlowerpotBlock> or an ArrayList<RegistryObject<FlowerpotBlock>>, i get a NullPointerException, if i ty to access them at item-registry (the exeption points to the line, where i register the item). It also happens, if i write a getter for the RegistryObject in the blockregistry class. It seems like, if i use lists or arrays, the blocks are not registered as fast as in separate public static final class-fields I´m not sure, if they are even registered if in lists or arrays.
  9. Here is now my repository: https://github.com/Drachenbauer/ColoredFlowerPotsMod The mod works, if i use the commented out parts of code in all classes, instead of the stuff with the for-loops. If i get the for-loops to work, i delete the other stuff. How do i add a crashlog? Edit: This Page needs very long time to load stuff from facebook...
  10. I know, how to put a project on github, but not how to add an errorlog...
  11. i know, where it is, but i don´t know, what´s wrong with that line... I´m sure, it should get the id of the RegistryObject(that´s similar to the RegistryName of the block.) But i don´t know, why it finds no registryname to use...
  12. Code: public static final DeferredRegister<Item> ITEMS = new DeferredRegister<>(ForgeRegistries.ITEMS, Reference.MOD_ID); @SuppressWarnings("unchecked") public static final RegistryObject<BlockItem>[] EMPTY_FLOWER_POTS = new RegistryObject[ColoredFlowerPotsBlocks.COLORS.size() + 1]; private static int i; static { i = 0; for (RegistryObject<FlowerPotBlock> empty_pot_register : ColoredFlowerPotsBlocks.EMPTY_FLOWER_POTS) { String empty_pot = empty_pot_register.getId().getPath(); EMPTY_FLOWER_POTS[i] = ITEMS.register(empty_pot, () -> new BlockItem(empty_pot_register.get(), new Item.Properties().defaultMaxDamage(0).group(ColoredFlowerPots.COLORED_FLOWERPOTS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair())); i++; } } I tried to use Arrays instead of ArrayLists now. console: i don´t know, how to display the "30 more" lines at the end, if they include helpful infos
  13. If i try to use getId from the block-RegistryObject to generate the registryname for the blockitem-registry, i get a NullPointerException...
  14. But how do i fill the supplyer-thing for the full pots where the need to know their emptx pots? Edit: I noticed, i can put the RegistryObject of the empty pot there.
  15. as i registered my Blocks this way: public static final RegistryObject<FlowerPotBlock> BLACK_FLOWER_POT = BLOCKS.register("black_flower_pot", () -> new FlowerPotBlock( null, AIR_SUPPLIER,Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid())); i was able to register the blockitem this way: public static final RegistryObject<Item> BLACK_FLOWER_POT = ITEMS.register("black_flower_pot", () -> new BlockItem(ColoredFlowerPotsBlocks.BLACK_FLOWER_POT.get(), new Item.Properties().defaultMaxDamage(0).group(ColoredFlowerPots.COLORED_FLOWERPOTS).maxStackSize(64).rarity(Rarity.COMMON).setNoRepair())); Do you mean, that i try to access the block for generating the item-registryname at using the variant with list and for-loop? But once i also had the error, where i called the method addPlant of the FlowerPotBlock, and tried to access the blocks there-
  16. with the arraylist, i got this error too, as i tried to access the blocks at registering the blockitems.
  17. bump i still don´t know, why this happens.
  18. Now i have this: public static final DeferredRegister<Block> BLOCKS = new DeferredRegister<>(ForgeRegistries.BLOCKS, Reference.MOD_ID); private static final Supplier<Block> AIR_SUPPLIER = () -> Blocks.AIR; public static final ArrayList<Supplier<Block>> PLANT_SUPPLIERS = new ArrayList<Supplier<Block>>(Arrays.asList(() -> Blocks.ACACIA_SAPLING, () -> Blocks.ALLIUM, () -> Blocks.AZURE_BLUET, () -> Blocks.BAMBOO, () -> Blocks.BIRCH_SAPLING, () -> Blocks.BLUE_ORCHID, () -> Blocks.BROWN_MUSHROOM, () -> Blocks.CACTUS, () -> Blocks.CORNFLOWER, () -> Blocks.DANDELION, () -> Blocks.DARK_OAK_SAPLING, () -> Blocks.DEAD_BUSH, () -> Blocks.FERN, () -> Blocks.JUNGLE_SAPLING, () -> Blocks.LILY_OF_THE_VALLEY, () -> Blocks.OAK_SAPLING, () -> Blocks.ORANGE_TULIP, () -> Blocks.OXEYE_DAISY, () -> Blocks.PINK_TULIP, () -> Blocks.POPPY, () -> Blocks.RED_MUSHROOM, () -> Blocks.RED_TULIP, () -> Blocks.SPRUCE_SAPLING, () -> Blocks.WHITE_TULIP, () -> Blocks.WITHER_ROSE)); public static final ArrayList<String> COLORS = new ArrayList<String>(Arrays.asList("black", "blue", "brown", "cyan", "gray", "green", "light_blue", "light_gray", "lime", "magenta", "orange", "pink", "purple", "red", "white", "yellow")); public static final ArrayList<RegistryObject<FlowerPotBlock>> EMPTY_FLOWER_POT_REGISTRIES = new ArrayList<RegistryObject<FlowerPotBlock>>(); public static final ArrayList<Supplier<FlowerPotBlock>> EMPTY_FLOWER_POT_SUPPLIERS = new ArrayList<Supplier<FlowerPotBlock>>(); public static final ArrayList<FlowerPotBlock> EMPTY_FLOWER_POTS = new ArrayList<FlowerPotBlock>(); public static final ArrayList<RegistryObject<FlowerPotBlock>> FULL_FLOWER_POT_REGISTRIES = new ArrayList<RegistryObject<FlowerPotBlock>>(); public static final ArrayList<Supplier<FlowerPotBlock>> FULL_FLOWER_POT_SUPPLIERS = new ArrayList<Supplier<FlowerPotBlock>>(); public static final ArrayList<FlowerPotBlock> FULL_FLOWER_POTS = new ArrayList<FlowerPotBlock>(); private static int i; private static int j; static { i = 0; for(String color : COLORS) { EMPTY_FLOWER_POT_REGISTRIES.add(BLOCKS.register(color + "_flower_pot", () -> new FlowerPotBlock(null, AIR_SUPPLIER, Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()))); EMPTY_FLOWER_POT_SUPPLIERS.add(() -> EMPTY_FLOWER_POT_REGISTRIES.get(i).get()); j = 0; for(Supplier<Block> plant_supplier : PLANT_SUPPLIERS) { String plant = plant_supplier.get().getRegistryName().getPath(); FULL_FLOWER_POT_REGISTRIES.add(BLOCKS.register(color + "_potted_" + plant, () -> new FlowerPotBlock(EMPTY_FLOWER_POT_SUPPLIERS.get(i), plant_supplier, Block.Properties.create(Material.MISCELLANEOUS).hardnessAndResistance(0f).notSolid()))); FULL_FLOWER_POT_SUPPLIERS.add(() -> FULL_FLOWER_POT_REGISTRIES.get(j).get()); j++; } i++; } } Why this makes a "RegistryObject not present" error, if i want to access the blocks anywhere in the code? Only the lines, wich fill the Supplier-Lists, don´t make the error. Why i cannot access theese blocks, or does the registry process not work at list-contents?
  19. I find nothing about the ItemGroup in that log-text-file... It really looks like there is any limit, that it can create only two pages on the creative-inventory and display only 5 modded tabs, basic inventory and search-function on the seccond page.
  20. i noticed, that i had a mistake in the registryname of the block in the class with the block registrys so it didn´t match the correct name in the json´s
  21. Now i made it possible, to run the test-client and enter the world, but the tulip in the pot appears as a black and purple bug-block... seems like using stuff from the two coremods as parent in the json files foes not work now...
  22. where do i find the log, if i run it in the actual game? In the test-client it works fine.
  23. The itemgroup-class: package drachenbauer32.coloredflowerpotsmod.util; import drachenbauer32.coloredflowerpotsmod.ColoredFlowerPots; import drachenbauer32.coloredflowerpotsmod.init.ColoredFlowerPotsItems; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; public class ColoredFlowerPotsItemGroup extends ItemGroup { public ColoredFlowerPotsItemGroup() { super("ColoredFlowerPots"); } @Override public ItemStack createIcon() { return new ItemStack(ColoredFlowerPotsItems.YELLOW_FLOWER_POT.get()); } @Override public void fill(NonNullList<ItemStack> itemStacks) { super.fill(itemStacks); itemStacks.sort(ColoredFlowerPots.itemSorter); } } I have no log. My other mods use an almodt identical ItemGroup-class. The only differences are the class-name, the name-string in the constructor and the item for the icon. The itemgroups of the other mods appear in the test-client and in the actual game.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.