From 81557b299299808096c0b3d20cb01dbba1db15a1 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Wed, 21 Dec 2016 23:21:19 +0100 Subject: [PATCH 01/12] Update to latest snapshot --- .../java/nova/sample/block/BlockStateful.java | 23 ++++++------ .../nova/sample/block/BlockStateless.java | 14 +++----- .../java/nova/sample/block/NovaBlock.java | 15 ++++---- .../{blockSteel.png => block_steel.png} | Bin .../{grinderEntity.png => grinder_entity.png} | Bin build.gradle | 10 +++--- .../main/java/nova/sample/gui/NovaGui.java | 34 +++++++++--------- .../sample/gui/block/BlockSimpleTest.java | 18 ++++------ .../nova/sample/item/ItemScrewdriver.java | 10 ++---- .../main/java/nova/sample/item/NovaItem.java | 8 ++--- settings.gradle | 2 +- .../nova/sample/worldgen/NovaWorldgen.java | 4 +-- 12 files changed, 59 insertions(+), 79 deletions(-) rename block/src/main/resources/assets/novablock/textures/blocks/{blockSteel.png => block_steel.png} (100%) rename block/src/main/resources/assets/novablock/textures/entities/{grinderEntity.png => grinder_entity.png} (100%) diff --git a/block/src/main/java/nova/sample/block/BlockStateful.java b/block/src/main/java/nova/sample/block/BlockStateful.java index ea28a47..4a390a6 100644 --- a/block/src/main/java/nova/sample/block/BlockStateful.java +++ b/block/src/main/java/nova/sample/block/BlockStateful.java @@ -12,6 +12,7 @@ import nova.core.network.Packet; import nova.core.network.Syncable; import nova.core.network.Sync; +import nova.core.render.model.MeshModel; import nova.core.render.model.Model; import nova.core.retention.Storable; import nova.core.retention.Store; @@ -32,11 +33,10 @@ public class BlockStateful extends Block implements Storable, Stateful, Syncable private double angle = 0; public BlockStateful() { + components.add(new Collider(this).isOpaqueCube(false)); - add(new Collider(this).isOpaqueCube(false)); - - add(new StaticRenderer(this) - .setOnRender(model -> { + components.add(new StaticRenderer() + .onRender(model -> { Model grinderModel = NovaBlock.grinderModel.getModel(); grinderModel @@ -44,13 +44,15 @@ public BlockStateful() { .matrix.rotate(new Rotation(RotationUtil.DEFAULT_ORDER,0, 0, angle)); model.children.add(grinderModel); - model.bindAll(NovaBlock.grinderTexture); + + if (model instanceof MeshModel) + ((MeshModel)model).bindAll(NovaBlock.grinderTexture); } ) ); - add(new ItemRenderer(this)); - add(new Category("buildingBlocks")); - //add(new TestComponent()); + components.add(new ItemRenderer(this)); + components.add(new Category("buildingBlocks")); + //components.add(new TestComponent()); events.on(RightClickEvent.class).bind(this::onRightClick); } @@ -70,11 +72,6 @@ public void read(Packet packet) { world().markStaticRender(position()); } - @Override - public String getID() { - return "stateful"; - } - public static interface TestInterface { public void test(); } diff --git a/block/src/main/java/nova/sample/block/BlockStateless.java b/block/src/main/java/nova/sample/block/BlockStateless.java index 3050b6a..61dcc1b 100644 --- a/block/src/main/java/nova/sample/block/BlockStateless.java +++ b/block/src/main/java/nova/sample/block/BlockStateless.java @@ -1,7 +1,6 @@ package nova.sample.block; import nova.core.block.Block; -import nova.core.block.component.StaticBlockRenderer; import nova.core.component.Category; import nova.core.component.misc.Collider; import nova.core.component.renderer.ItemRenderer; @@ -15,13 +14,13 @@ public class BlockStateless extends Block implements Syncable { public BlockStateless() { - add(new StaticBlockRenderer(this)).setTexture(NovaBlock.steelTexture); +// components.add(new StaticBlockRenderer()).setTexture(NovaBlock.steelTexture); - add(new Collider(this)); + components.add(new Collider(this)); - add(new ItemRenderer(this)); + components.add(new ItemRenderer(this)); - add(new Category("buildingBlocks")); + components.add(new Category("buildingBlocks")); events.on(RightClickEvent.class).bind(this::onRightClick); } @@ -39,9 +38,4 @@ public void read(Packet packet) { public void write(Packet packet) { packet.writeInt(1234); } - - @Override - public String getID() { - return "simple"; - } } diff --git a/block/src/main/java/nova/sample/block/NovaBlock.java b/block/src/main/java/nova/sample/block/NovaBlock.java index b7f2adb..21bcec2 100644 --- a/block/src/main/java/nova/sample/block/NovaBlock.java +++ b/block/src/main/java/nova/sample/block/NovaBlock.java @@ -5,8 +5,7 @@ import nova.core.item.ItemFactory; import nova.core.item.ItemManager; import nova.core.loader.Loadable; -import nova.core.loader.NovaMod; -import nova.core.nativewrapper.NativeManager; +import nova.core.loader.Mod; import nova.core.network.NetworkManager; import nova.core.recipes.RecipeManager; import nova.core.recipes.crafting.ItemIngredient; @@ -22,7 +21,7 @@ * * @author Calclavia */ -@NovaMod(id = NovaBlock.id, name = "Nova Example Block", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaBlock.id, name = "Nova Example Block", version = "0.0.1", novaVersion = "0.0.1") public class NovaBlock implements Loadable { public static final String id = "novablock"; @@ -62,16 +61,16 @@ public NovaBlock(BlockManager blockManager, @Override public void preInit() { - steelTexture = renderManager.registerTexture(new BlockTexture(id, "blockSteel")); + steelTexture = renderManager.registerTexture(new BlockTexture(id, "block_steel")); grinderTexture = renderManager.registerTexture(new BlockTexture(id, "grinder")); - blockStateful = blockManager.register(BlockStateful.class); - blockStateless = blockManager.register(BlockStateless.class); + blockStateful = blockManager.register("stateful", BlockStateful::new); + blockStateless = blockManager.register("simple", BlockStateless::new); itemBlockStateful = itemManager.getItemFromBlock(blockStateful); itemBlockStateless = itemManager.getItemFromBlock(blockStateless); - grinderEntityTexture = renderManager.registerTexture(new EntityTexture(id, "grinderEntity")); + grinderEntityTexture = renderManager.registerTexture(new EntityTexture(id, "grinder_entity")); grinderModel = renderManager.registerModel(new TechneModelProvider(id, "grinder")); @@ -79,6 +78,6 @@ public void preInit() { ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); - recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockStateless.makeItem(), "AAA-ABA-AAA", ingotIngredient, stickIngredient)); + recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockStateless.build(), "AAA-ABA-AAA", ingotIngredient, stickIngredient)); } } diff --git a/block/src/main/resources/assets/novablock/textures/blocks/blockSteel.png b/block/src/main/resources/assets/novablock/textures/blocks/block_steel.png similarity index 100% rename from block/src/main/resources/assets/novablock/textures/blocks/blockSteel.png rename to block/src/main/resources/assets/novablock/textures/blocks/block_steel.png diff --git a/block/src/main/resources/assets/novablock/textures/entities/grinderEntity.png b/block/src/main/resources/assets/novablock/textures/entities/grinder_entity.png similarity index 100% rename from block/src/main/resources/assets/novablock/textures/entities/grinderEntity.png rename to block/src/main/resources/assets/novablock/textures/entities/grinder_entity.png diff --git a/build.gradle b/build.gradle index ddfc07e..c9427b3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,9 +1,8 @@ plugins { id "java" - id "nova.gradle" version "0.2.4" + id "nova.gradle" version "0.2.6" } - subprojects { apply plugin: "java" apply plugin: "nova.gradle" @@ -23,10 +22,13 @@ subprojects { nova { wrappers { "17" { - wrapper "nova.wrapper.mc1710:NovaWrapper-MC1.7.10:0.1-SNAPSHOT" + wrapper "nova.core:NOVA-Core-Wrapper-MC1.7:0.1.0-SNAPSHOT" } "18" { - wrapper "nova.wrapper.mc18:NovaWrapper-MC1.8:0.1-SNAPSHOT" + wrapper "nova.core:NOVA-Core-Wrapper-MC1.8:0.1.0-SNAPSHOT" + } + "1_11" { + wrapper "nova.core:NOVA-Core-Wrapper-MC1.11:0.1.0-SNAPSHOT" } } } diff --git a/gui/src/main/java/nova/sample/gui/NovaGui.java b/gui/src/main/java/nova/sample/gui/NovaGui.java index fd91b00..50d585c 100644 --- a/gui/src/main/java/nova/sample/gui/NovaGui.java +++ b/gui/src/main/java/nova/sample/gui/NovaGui.java @@ -2,22 +2,22 @@ import nova.core.block.BlockFactory; import nova.core.block.BlockManager; -import nova.core.gui.Background; -import nova.core.gui.ComponentEvent.ActionEvent; -import nova.core.gui.Gui; -import nova.core.gui.GuiEvent.BindEvent; -import nova.core.gui.GuiEvent.UnBindEvent; -import nova.core.gui.component.Button; -import nova.core.gui.component.Container; -import nova.core.gui.component.Label; -import nova.core.gui.component.inventory.Slot; -import nova.core.gui.factory.GuiManager; -import nova.core.gui.layout.Anchor; -import nova.core.gui.layout.FlowLayout; +import nova.gui.Background; +import nova.gui.ComponentEvent.ActionEvent; +import nova.gui.Gui; +import nova.gui.GuiEvent.BindEvent; +import nova.gui.GuiEvent.UnBindEvent; +import nova.gui.component.Button; +import nova.gui.component.Container; +import nova.gui.component.Label; +import nova.gui.component.inventory.Slot; +import nova.gui.factory.GuiManager; +import nova.gui.layout.Anchor; +import nova.gui.layout.FlowLayout; import nova.core.item.ItemFactory; import nova.core.item.ItemManager; import nova.core.loader.Loadable; -import nova.core.loader.NovaMod; +import nova.core.loader.Mod; import nova.core.network.NetworkManager; import nova.core.network.NetworkTarget.Side; import nova.core.recipes.RecipeManager; @@ -33,7 +33,7 @@ * * @author Calclavia */ -@NovaMod(id = NovaGui.id, name = "Nova GUI example", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaGui.id, name = "Nova GUI example", version = "0.0.1", novaVersion = "0.0.1") public class NovaGui implements Loadable { public static final String id = "novagui"; @@ -67,7 +67,7 @@ public NovaGui(BlockManager blockManager, } public static void initializeGUI() { - guiFactory.register(() -> new Gui("testgui") + guiFactory.register("testgui", () -> new Gui("testgui") .add(new Button("testbutton2", "I'm EAST") .setMaximumSize(Integer.MAX_VALUE, 120) @@ -103,7 +103,7 @@ public static void initializeGUI() { @Override public void preInit() { - blockTest = blockManager.register(BlockSimpleTest.class); + blockTest = blockManager.register("gui", BlockSimpleTest::new); itemBlockTest = itemManager.getItemFromBlock(blockTest); @@ -112,7 +112,7 @@ public void preInit() { // try to add a recipe ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); - recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockTest.makeItem(), "AAA-ABA-AAA", ingotIngredient, stickIngredient)); + recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockTest.build(), "AAA-ABA-AAA", ingotIngredient, stickIngredient)); initializeGUI(); } diff --git a/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java b/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java index 6b6c774..8a5bbbc 100644 --- a/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java +++ b/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java @@ -1,13 +1,12 @@ package nova.sample.gui.block; import nova.core.block.Block; -import nova.core.block.component.StaticBlockRenderer; import nova.core.component.Category; +import nova.core.component.inventory.Inventory; +import nova.core.component.inventory.InventorySimple; import nova.core.component.misc.Collider; import nova.core.component.renderer.ItemRenderer; import nova.core.network.Syncable; -import nova.core.inventory.Inventory; -import nova.core.inventory.InventorySimple; import nova.core.network.Packet; import nova.sample.gui.NovaGui; @@ -22,13 +21,13 @@ public class BlockSimpleTest extends Block implements Syncable { public Inventory inventory = new InventorySimple(1); public BlockSimpleTest() { - add(new StaticBlockRenderer(this)).setTexture((dir) -> Optional.of(NovaGui.steelTexture)); + //components.add(new StaticBlockRenderer(this)).setTexture((dir) -> Optional.of(NovaGui.steelTexture)); - add(new Collider(this)); + components.add(new Collider(this)); - add(new ItemRenderer(this)); + components.add(new ItemRenderer(this)); - add(new Category("buildingBlocks")); + components.add(new Category("buildingBlocks")); events.on(RightClickEvent.class).bind(this::onRightClick); } @@ -49,9 +48,4 @@ public void read(Packet packet) { public void write(Packet packet) { packet.writeInt(1234); } - - @Override - public String getID() { - return "gui"; - } } diff --git a/item/src/main/java/nova/sample/item/ItemScrewdriver.java b/item/src/main/java/nova/sample/item/ItemScrewdriver.java index b9a46e2..a87f968 100644 --- a/item/src/main/java/nova/sample/item/ItemScrewdriver.java +++ b/item/src/main/java/nova/sample/item/ItemScrewdriver.java @@ -10,15 +10,9 @@ public class ItemScrewdriver extends Item { public ItemScrewdriver() { - add(new Category("tools")); - add(new ItemRenderer()) - .setTexture(NovaItem.screwTexture); + components.add(new Category("tools")); + components.add(new ItemRenderer()).setTexture(NovaItem.screwTexture); events.on(UseEvent.class).bind(event -> event.action = true); } - - @Override - public String getID() { - return "testscrewdriver"; - } } diff --git a/item/src/main/java/nova/sample/item/NovaItem.java b/item/src/main/java/nova/sample/item/NovaItem.java index 47ee2f6..1a9f96c 100644 --- a/item/src/main/java/nova/sample/item/NovaItem.java +++ b/item/src/main/java/nova/sample/item/NovaItem.java @@ -3,7 +3,7 @@ import nova.core.item.ItemFactory; import nova.core.item.ItemManager; import nova.core.loader.Loadable; -import nova.core.loader.NovaMod; +import nova.core.loader.Mod; import nova.core.recipes.Recipe; import nova.core.recipes.RecipeManager; import nova.core.recipes.crafting.ItemIngredient; @@ -14,7 +14,7 @@ /** * Created by magik6k on 5/29/15. */ -@NovaMod(id = NovaItem.id, name = "Nova Example Item", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaItem.id, name = "Nova Example Item", version = "0.0.1", novaVersion = "0.0.1") public class NovaItem implements Loadable { public static final String id = "novaitem"; @@ -34,10 +34,10 @@ public NovaItem(ItemManager itemManager, RenderManager renderManager, RecipeMana @Override public void preInit() { screwTexture = renderManager.registerTexture(new ItemTexture(id, "screwdriver")); - itemScrewdriver = itemManager.register(ItemScrewdriver.class); + itemScrewdriver = itemManager.register("testscrewdriver", ItemScrewdriver::new); ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); - recipeManager.addRecipe(new ShapedCraftingRecipe(itemScrewdriver.makeItem(), "A- B", ingotIngredient, stickIngredient)); + recipeManager.addRecipe(new ShapedCraftingRecipe(itemScrewdriver.build(), "A- B", true, ingotIngredient, stickIngredient)); } } diff --git a/settings.gradle b/settings.gradle index 03c7cce..53a6912 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -rootProject.name = 'NovaExample' +rootProject.name = 'NOVA-Example' include 'block' include 'entity' diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index 009d860..95fba98 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -3,10 +3,10 @@ import nova.core.block.BlockManager; import nova.core.item.ItemManager; import nova.core.loader.Loadable; -import nova.core.loader.NovaMod; +import nova.core.loader.Mod; import nova.worldgen.WorldgenManager; -@NovaMod(id = NovaWorldgen.id, name = "Nova Worldgen Example", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaWorldgen.id, name = "Nova Worldgen Example", version = "0.0.1", novaVersion = "0.0.1") public class NovaWorldgen implements Loadable { public static final String id = "novaworldgen"; From d9a8a3c853892083e125e597977aa0fb6b936b13 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Mon, 2 Jan 2017 19:13:19 +0100 Subject: [PATCH 02/12] Work on GUI + Worldgen --- build.gradle | 6 +-- .../main/java/nova/sample/gui/NovaGui.java | 2 +- .../{blockSteel.png => block_steel.png} | Bin .../nova/sample/worldgen/NovaWorldgen.java | 44 +++++++++++++++++- 4 files changed, 47 insertions(+), 5 deletions(-) rename gui/src/main/resources/assets/novagui/textures/blocks/{blockSteel.png => block_steel.png} (100%) diff --git a/build.gradle b/build.gradle index c9427b3..dcdc83d 100644 --- a/build.gradle +++ b/build.gradle @@ -22,13 +22,13 @@ subprojects { nova { wrappers { "17" { - wrapper "nova.core:NOVA-Core-Wrapper-MC1.7:0.1.0-SNAPSHOT" + wrapper "nova.core:NOVA-Core-Wrapper-MC1.7:$nova_version" } "18" { - wrapper "nova.core:NOVA-Core-Wrapper-MC1.8:0.1.0-SNAPSHOT" + wrapper "nova.core:NOVA-Core-Wrapper-MC1.8:$nova_version" } "1_11" { - wrapper "nova.core:NOVA-Core-Wrapper-MC1.11:0.1.0-SNAPSHOT" + wrapper "nova.core:NOVA-Core-Wrapper-MC1.11:$nova_version" } } } diff --git a/gui/src/main/java/nova/sample/gui/NovaGui.java b/gui/src/main/java/nova/sample/gui/NovaGui.java index 50d585c..70a033e 100644 --- a/gui/src/main/java/nova/sample/gui/NovaGui.java +++ b/gui/src/main/java/nova/sample/gui/NovaGui.java @@ -107,7 +107,7 @@ public void preInit() { itemBlockTest = itemManager.getItemFromBlock(blockTest); - steelTexture = renderManager.registerTexture(new BlockTexture(id, "blockSteel")); + steelTexture = renderManager.registerTexture(new BlockTexture(id, "block_steel")); // try to add a recipe ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too diff --git a/gui/src/main/resources/assets/novagui/textures/blocks/blockSteel.png b/gui/src/main/resources/assets/novagui/textures/blocks/block_steel.png similarity index 100% rename from gui/src/main/resources/assets/novagui/textures/blocks/blockSteel.png rename to gui/src/main/resources/assets/novagui/textures/blocks/block_steel.png diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index 95fba98..d37871f 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -1,24 +1,66 @@ package nova.sample.worldgen; +import nova.core.block.BlockFactory; import nova.core.block.BlockManager; +import nova.core.item.ItemFactory; import nova.core.item.ItemManager; import nova.core.loader.Loadable; import nova.core.loader.Mod; +import nova.core.recipes.RecipeManager; +import nova.core.render.RenderManager; +import nova.core.render.texture.BlockTexture; +import nova.core.render.texture.ItemTexture; import nova.worldgen.WorldgenManager; +import nova.worldgen.ore.Ore; +import nova.worldgen.ore.OreHeight; +import nova.worldgen.util.EnumSelector; @Mod(id = NovaWorldgen.id, name = "Nova Worldgen Example", version = "0.0.1", novaVersion = "0.0.1") public class NovaWorldgen implements Loadable { - public static final String id = "novaworldgen"; + public static final String id = "novaexampleworldgen"; + + public static BlockFactory blockSteelOre; + + public static ItemFactory itemBlockSteelOre; + public static ItemFactory itemSteelIngot; + + public static Ore oreSteel; + + public static BlockTexture steelOreTexture; + public static ItemTexture steelIngotTexture; public final BlockManager blockManager; public final ItemManager itemManager; + public final RenderManager renderManager; + public final RecipeManager recipeManager; public final WorldgenManager worldgenManager; public NovaWorldgen(BlockManager blockManager, ItemManager itemManager, + RenderManager renderManager, + RecipeManager recipeManager, WorldgenManager worldgenManager) { this.blockManager = blockManager; this.itemManager = itemManager; + this.renderManager = renderManager; + this.recipeManager = recipeManager; this.worldgenManager = worldgenManager; } + + @Override + public void preInit() { + steelOreTexture = renderManager.registerTexture(new BlockTexture(id, "ore_steel")); + steelIngotTexture = renderManager.registerTexture(new ItemTexture(id, "ingot_steel")); + + blockSteelOre = blockManager.register("steel_ore", BlockSteelOre::new); + itemSteelIngot = itemManager.register("steel_ingot", ItemSteelIngot::new); + + itemBlockSteelOre = itemManager.getItemFromBlock(blockSteelOre); + + EnumSelector oreSteelEnumSelector = EnumSelector.of(OreHeight.class); + oreSteelEnumSelector.blockAll(); + oreSteelEnumSelector.apart(OreHeight.DEEP); + oreSteelEnumSelector.lock(); + oreSteel = worldgenManager.register(new Ore("steel_ore", blockSteelOre, 1, 1, oreSteelEnumSelector)); + } } From 2b97866221830ccbcc25bd887f4e9b2ccc696acb Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Mon, 2 Jan 2017 21:27:48 +0100 Subject: [PATCH 03/12] Synchronized BlockStateless and ItemScrewdriver with the ones in the documentation. --- block/src/main/java/nova/sample/block/BlockStateless.java | 8 +++----- item/src/main/java/nova/sample/item/ItemScrewdriver.java | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/block/src/main/java/nova/sample/block/BlockStateless.java b/block/src/main/java/nova/sample/block/BlockStateless.java index 61dcc1b..66de8d7 100644 --- a/block/src/main/java/nova/sample/block/BlockStateless.java +++ b/block/src/main/java/nova/sample/block/BlockStateless.java @@ -14,13 +14,11 @@ public class BlockStateless extends Block implements Syncable { public BlockStateless() { -// components.add(new StaticBlockRenderer()).setTexture(NovaBlock.steelTexture); - + //components.add(new StaticBlockRenderer(this)).setTexture(NovaBlock.steelTexture); // TODO: Removed components.add(new Collider(this)); - - components.add(new ItemRenderer(this)); - + components.add(new ItemRenderer(this)); // TODO: Deprecated components.add(new Category("buildingBlocks")); + events.on(RightClickEvent.class).bind(this::onRightClick); } diff --git a/item/src/main/java/nova/sample/item/ItemScrewdriver.java b/item/src/main/java/nova/sample/item/ItemScrewdriver.java index a87f968..0b93c03 100644 --- a/item/src/main/java/nova/sample/item/ItemScrewdriver.java +++ b/item/src/main/java/nova/sample/item/ItemScrewdriver.java @@ -11,7 +11,7 @@ public class ItemScrewdriver extends Item { public ItemScrewdriver() { components.add(new Category("tools")); - components.add(new ItemRenderer()).setTexture(NovaItem.screwTexture); + components.add(new ItemRenderer()).setTexture(NovaItem.screwTexture); // TODO: Deprecated events.on(UseEvent.class).bind(event -> event.action = true); } From fcab7fd6901c4a8f1e4968607fe1346b5b1aa2f9 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Mon, 2 Jan 2017 21:30:12 +0100 Subject: [PATCH 04/12] Fix Worldgen constructor indentation. --- worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index d37871f..f4c181f 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -36,10 +36,10 @@ public class NovaWorldgen implements Loadable { public final WorldgenManager worldgenManager; public NovaWorldgen(BlockManager blockManager, - ItemManager itemManager, + ItemManager itemManager, RenderManager renderManager, RecipeManager recipeManager, - WorldgenManager worldgenManager) { + WorldgenManager worldgenManager) { this.blockManager = blockManager; this.itemManager = itemManager; this.renderManager = renderManager; From 0ec4420198e56ef134747e6b5d09b988c65e6a69 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Mon, 2 Jan 2017 21:32:56 +0100 Subject: [PATCH 05/12] Fix Worldgen constructor indetation. --- .../src/main/java/nova/sample/worldgen/NovaWorldgen.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index f4c181f..992582f 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -36,10 +36,10 @@ public class NovaWorldgen implements Loadable { public final WorldgenManager worldgenManager; public NovaWorldgen(BlockManager blockManager, - ItemManager itemManager, - RenderManager renderManager, - RecipeManager recipeManager, - WorldgenManager worldgenManager) { + ItemManager itemManager, + RenderManager renderManager, + RecipeManager recipeManager, + WorldgenManager worldgenManager) { this.blockManager = blockManager; this.itemManager = itemManager; this.renderManager = renderManager; From de2921ae56f5ef04e9be2fd427094f554d443c55 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Mon, 2 Jan 2017 21:33:23 +0100 Subject: [PATCH 06/12] Fix Worldgen constructor indentation. --- .../src/main/java/nova/sample/worldgen/NovaWorldgen.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index f4c181f..992582f 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -36,10 +36,10 @@ public class NovaWorldgen implements Loadable { public final WorldgenManager worldgenManager; public NovaWorldgen(BlockManager blockManager, - ItemManager itemManager, - RenderManager renderManager, - RecipeManager recipeManager, - WorldgenManager worldgenManager) { + ItemManager itemManager, + RenderManager renderManager, + RecipeManager recipeManager, + WorldgenManager worldgenManager) { this.blockManager = blockManager; this.itemManager = itemManager; this.renderManager = renderManager; From cdb21be13efd82f51d31a2469bc767fafc4b67af Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Tue, 3 Jan 2017 20:58:21 +0100 Subject: [PATCH 07/12] Update Worldgen example --- gui/build.gradle | 2 +- worldgen/build.gradle | 2 +- .../src/main/java/nova/sample/worldgen/NovaWorldgen.java | 9 +++------ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/gui/build.gradle b/gui/build.gradle index 77ba2eb..9213dae 100644 --- a/gui/build.gradle +++ b/gui/build.gradle @@ -2,5 +2,5 @@ version = "0.1" group = "nova.sample.gui" dependencies { - compile "nova.gui:NOVA-GUI:0.0.1-SNAPSHOT" + compile group: "nova.gui", name: "NOVA-GUI", version: "0.0.1-SNAPSHOT", changing: true } \ No newline at end of file diff --git a/worldgen/build.gradle b/worldgen/build.gradle index c9b9688..4480800 100644 --- a/worldgen/build.gradle +++ b/worldgen/build.gradle @@ -2,5 +2,5 @@ version = "0.1" group = "nova.sample.worldgen" dependencies { - compile "nova.worldgen:NOVA-Worldgen:0.0.1-SNAPSHOT" + compile group: "nova.worldgen", name: "NOVA-Worldgen", version: "0.0.1-SNAPSHOT", changing: true } \ No newline at end of file diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index 992582f..9c3df9e 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -10,10 +10,10 @@ import nova.core.render.RenderManager; import nova.core.render.texture.BlockTexture; import nova.core.render.texture.ItemTexture; +import nova.core.util.EnumSelector; import nova.worldgen.WorldgenManager; import nova.worldgen.ore.Ore; import nova.worldgen.ore.OreHeight; -import nova.worldgen.util.EnumSelector; @Mod(id = NovaWorldgen.id, name = "Nova Worldgen Example", version = "0.0.1", novaVersion = "0.0.1") public class NovaWorldgen implements Loadable { @@ -57,10 +57,7 @@ public void preInit() { itemBlockSteelOre = itemManager.getItemFromBlock(blockSteelOre); - EnumSelector oreSteelEnumSelector = EnumSelector.of(OreHeight.class); - oreSteelEnumSelector.blockAll(); - oreSteelEnumSelector.apart(OreHeight.DEEP); - oreSteelEnumSelector.lock(); - oreSteel = worldgenManager.register(new Ore("steel_ore", blockSteelOre, 1, 1, oreSteelEnumSelector)); + oreSteel = worldgenManager.register(new Ore("steel_ore", blockSteelOre, 1, 1, + EnumSelector.of(OreHeight.class).blockAll().apart(OreHeight.DEEP).lock())); } } From d26285c19a5c5d42f98f0feaebe5b022ea1d677e Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Wed, 4 Jan 2017 17:52:47 +0100 Subject: [PATCH 08/12] Switch to new render method with generic cubles + Update Worldgen and Entity --- .gitignore | 2 ++ .../java/nova/sample/block/BlockStateful.java | 1 - .../nova/sample/block/BlockStateless.java | 8 ++++- .../java/nova/sample/block/NovaBlock.java | 3 +- entity/build.gradle | 2 ++ .../java/nova/sample/entity/NovaEntity.java | 30 +++++++++++++++++ .../main/java/nova/sample/gui/NovaGui.java | 2 +- .../sample/gui/block/BlockSimpleTest.java | 12 ++++--- .../textures/blocks/ore_steel.png | Bin 0 -> 2942 bytes .../textures/items/ingot_steel.png | Bin 0 -> 2942 bytes .../nova/sample/worldgen/BlockSteelOre.java | 31 ++++++++++++++++++ .../nova/sample/worldgen/ItemSteelIngot.java | 20 +++++++++++ 12 files changed, 102 insertions(+), 9 deletions(-) create mode 100644 entity/build.gradle create mode 100644 entity/src/main/java/nova/sample/entity/NovaEntity.java create mode 100644 worldgen/src/main/java/assets/novaworldgen/textures/blocks/ore_steel.png create mode 100644 worldgen/src/main/java/assets/novaworldgen/textures/items/ingot_steel.png create mode 100644 worldgen/src/main/java/nova/sample/worldgen/BlockSteelOre.java create mode 100644 worldgen/src/main/java/nova/sample/worldgen/ItemSteelIngot.java diff --git a/.gitignore b/.gitignore index 4778640..ccd9282 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ !/block !/gui !/item +!/entity +!/worldgen !/old !/guidelines diff --git a/block/src/main/java/nova/sample/block/BlockStateful.java b/block/src/main/java/nova/sample/block/BlockStateful.java index 4a390a6..6d2b971 100644 --- a/block/src/main/java/nova/sample/block/BlockStateful.java +++ b/block/src/main/java/nova/sample/block/BlockStateful.java @@ -34,7 +34,6 @@ public class BlockStateful extends Block implements Storable, Stateful, Syncable public BlockStateful() { components.add(new Collider(this).isOpaqueCube(false)); - components.add(new StaticRenderer() .onRender(model -> { Model grinderModel = NovaBlock.grinderModel.getModel(); diff --git a/block/src/main/java/nova/sample/block/BlockStateless.java b/block/src/main/java/nova/sample/block/BlockStateless.java index 66de8d7..6cf50a2 100644 --- a/block/src/main/java/nova/sample/block/BlockStateless.java +++ b/block/src/main/java/nova/sample/block/BlockStateless.java @@ -4,8 +4,11 @@ import nova.core.component.Category; import nova.core.component.misc.Collider; import nova.core.component.renderer.ItemRenderer; +import nova.core.component.renderer.StaticRenderer; import nova.core.network.Packet; import nova.core.network.Syncable; +import nova.core.render.model.MeshModel; +import nova.core.render.pipeline.BlockRenderPipeline; /** * Literally, this is a test block. @@ -14,7 +17,10 @@ public class BlockStateless extends Block implements Syncable { public BlockStateless() { - //components.add(new StaticBlockRenderer(this)).setTexture(NovaBlock.steelTexture); // TODO: Removed + components.add(new StaticRenderer().onRender(model -> { + if (model instanceof MeshModel) + new BlockRenderPipeline(this).withTexture(NovaBlock.steelTexture).draw((MeshModel) model); + })); components.add(new Collider(this)); components.add(new ItemRenderer(this)); // TODO: Deprecated components.add(new Category("buildingBlocks")); diff --git a/block/src/main/java/nova/sample/block/NovaBlock.java b/block/src/main/java/nova/sample/block/NovaBlock.java index 21bcec2..074fc12 100644 --- a/block/src/main/java/nova/sample/block/NovaBlock.java +++ b/block/src/main/java/nova/sample/block/NovaBlock.java @@ -75,7 +75,8 @@ public void preInit() { grinderModel = renderManager.registerModel(new TechneModelProvider(id, "grinder")); // try to add a recipe - ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too + //ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too + ItemIngredient stickIngredient = ItemIngredient.forDictionary("stickWood"); ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockStateless.build(), "AAA-ABA-AAA", ingotIngredient, stickIngredient)); diff --git a/entity/build.gradle b/entity/build.gradle new file mode 100644 index 0000000..7731663 --- /dev/null +++ b/entity/build.gradle @@ -0,0 +1,2 @@ +version = "0.1" +group = "nova.sample.entity" diff --git a/entity/src/main/java/nova/sample/entity/NovaEntity.java b/entity/src/main/java/nova/sample/entity/NovaEntity.java new file mode 100644 index 0000000..5f164b8 --- /dev/null +++ b/entity/src/main/java/nova/sample/entity/NovaEntity.java @@ -0,0 +1,30 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package nova.sample.entity; + +import nova.core.entity.EntityManager; +import nova.core.loader.Loadable; +import nova.core.loader.Mod; +import nova.core.render.RenderManager; + +/** + * Used to test NOVA entities. + * + * @author ExE Boss + */ +@Mod(id = NovaEntity.id, name = "Nova Example Entity", version = "0.0.1", novaVersion = "0.0.1") +public class NovaEntity implements Loadable { + + public static final String id = "novaentity"; + + public final EntityManager entityManager; + public final RenderManager renderManager; + + public NovaEntity(EntityManager entityManager, RenderManager renderManager) { + this.entityManager = entityManager; + this.renderManager = renderManager; + } +} diff --git a/gui/src/main/java/nova/sample/gui/NovaGui.java b/gui/src/main/java/nova/sample/gui/NovaGui.java index 70a033e..0f6286f 100644 --- a/gui/src/main/java/nova/sample/gui/NovaGui.java +++ b/gui/src/main/java/nova/sample/gui/NovaGui.java @@ -36,7 +36,7 @@ @Mod(id = NovaGui.id, name = "Nova GUI example", version = "0.0.1", novaVersion = "0.0.1") public class NovaGui implements Loadable { - public static final String id = "novagui"; + public static final String id = "novaexamplegui"; public static BlockFactory blockTest; public static ItemFactory itemBlockTest; diff --git a/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java b/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java index 8a5bbbc..040ffe9 100644 --- a/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java +++ b/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java @@ -10,7 +10,9 @@ import nova.core.network.Packet; import nova.sample.gui.NovaGui; -import java.util.Optional; +import nova.core.component.renderer.StaticRenderer; +import nova.core.render.model.MeshModel; +import nova.core.render.pipeline.BlockRenderPipeline; /** * Literally, this is a test block. @@ -21,12 +23,12 @@ public class BlockSimpleTest extends Block implements Syncable { public Inventory inventory = new InventorySimple(1); public BlockSimpleTest() { - //components.add(new StaticBlockRenderer(this)).setTexture((dir) -> Optional.of(NovaGui.steelTexture)); - + components.add(new StaticRenderer().onRender(model -> { + if (model instanceof MeshModel) + new BlockRenderPipeline(this).withTexture(NovaGui.steelTexture).draw((MeshModel) model); + })); components.add(new Collider(this)); - components.add(new ItemRenderer(this)); - components.add(new Category("buildingBlocks")); events.on(RightClickEvent.class).bind(this::onRightClick); } diff --git a/worldgen/src/main/java/assets/novaworldgen/textures/blocks/ore_steel.png b/worldgen/src/main/java/assets/novaworldgen/textures/blocks/ore_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5bb2d53c45c597880bccbe05e3056cad7593cf GIT binary patch literal 2942 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 o{Qg8Hlg#B!4!e~k { + if (model instanceof MeshModel) + new BlockRenderPipeline(this).withTexture(NovaWorldgen.steelOreTexture).draw((MeshModel) model); + })); + components.add(new Collider(this)); + components.add(new ItemRenderer(this)); + components.add(new Category("buildingBlocks")); + } +} diff --git a/worldgen/src/main/java/nova/sample/worldgen/ItemSteelIngot.java b/worldgen/src/main/java/nova/sample/worldgen/ItemSteelIngot.java new file mode 100644 index 0000000..a4fd64a --- /dev/null +++ b/worldgen/src/main/java/nova/sample/worldgen/ItemSteelIngot.java @@ -0,0 +1,20 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package nova.sample.worldgen; + +import nova.core.component.renderer.ItemRenderer; +import nova.core.item.Item; + +/** + * + * @author ExE Boss + */ +public class ItemSteelIngot extends Item { + + public ItemSteelIngot() { + components.add(new ItemRenderer(this)).setTexture(NovaWorldgen.steelIngotTexture); + } +} From 3ae90ba18b9e7e1e185604826e2466ad6f344a5e Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Wed, 4 Jan 2017 18:01:03 +0100 Subject: [PATCH 09/12] Fix BlockRenderPipeline usage --- block/src/main/java/nova/sample/block/BlockStateless.java | 6 +----- .../main/java/nova/sample/gui/block/BlockSimpleTest.java | 5 +---- .../src/main/java/nova/sample/worldgen/BlockSteelOre.java | 5 +---- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/block/src/main/java/nova/sample/block/BlockStateless.java b/block/src/main/java/nova/sample/block/BlockStateless.java index 6cf50a2..09595df 100644 --- a/block/src/main/java/nova/sample/block/BlockStateless.java +++ b/block/src/main/java/nova/sample/block/BlockStateless.java @@ -7,7 +7,6 @@ import nova.core.component.renderer.StaticRenderer; import nova.core.network.Packet; import nova.core.network.Syncable; -import nova.core.render.model.MeshModel; import nova.core.render.pipeline.BlockRenderPipeline; /** @@ -17,10 +16,7 @@ public class BlockStateless extends Block implements Syncable { public BlockStateless() { - components.add(new StaticRenderer().onRender(model -> { - if (model instanceof MeshModel) - new BlockRenderPipeline(this).withTexture(NovaBlock.steelTexture).draw((MeshModel) model); - })); + components.add(new StaticRenderer().onRender(new BlockRenderPipeline(this).withTexture(NovaBlock.steelTexture).build())); components.add(new Collider(this)); components.add(new ItemRenderer(this)); // TODO: Deprecated components.add(new Category("buildingBlocks")); diff --git a/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java b/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java index 040ffe9..d0fe3c3 100644 --- a/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java +++ b/gui/src/main/java/nova/sample/gui/block/BlockSimpleTest.java @@ -23,10 +23,7 @@ public class BlockSimpleTest extends Block implements Syncable { public Inventory inventory = new InventorySimple(1); public BlockSimpleTest() { - components.add(new StaticRenderer().onRender(model -> { - if (model instanceof MeshModel) - new BlockRenderPipeline(this).withTexture(NovaGui.steelTexture).draw((MeshModel) model); - })); + components.add(new StaticRenderer().onRender(new BlockRenderPipeline(this).withTexture(NovaGui.steelTexture).build())); components.add(new Collider(this)); components.add(new ItemRenderer(this)); components.add(new Category("buildingBlocks")); diff --git a/worldgen/src/main/java/nova/sample/worldgen/BlockSteelOre.java b/worldgen/src/main/java/nova/sample/worldgen/BlockSteelOre.java index 83a00be..94ee0b2 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/BlockSteelOre.java +++ b/worldgen/src/main/java/nova/sample/worldgen/BlockSteelOre.java @@ -20,10 +20,7 @@ public class BlockSteelOre extends Block { public BlockSteelOre() { - components.add(new StaticRenderer().onRender(model -> { - if (model instanceof MeshModel) - new BlockRenderPipeline(this).withTexture(NovaWorldgen.steelOreTexture).draw((MeshModel) model); - })); + components.add(new StaticRenderer().onRender(new BlockRenderPipeline(this).withTexture(NovaWorldgen.steelOreTexture).build())); components.add(new Collider(this)); components.add(new ItemRenderer(this)); components.add(new Category("buildingBlocks")); From 64d7f287dc11406fc26e8baa233ef6d60aec15c0 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Wed, 4 Jan 2017 22:25:24 +0100 Subject: [PATCH 10/12] Change archive names and version (from 0.1 to 0.1.0-SNAPSHOT) --- block/build.gradle | 4 +++- entity/build.gradle | 4 +++- gui/build.gradle | 4 +++- item/build.gradle | 4 +++- worldgen/build.gradle | 4 +++- 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/block/build.gradle b/block/build.gradle index 36c74e8..03bc10d 100644 --- a/block/build.gradle +++ b/block/build.gradle @@ -1,2 +1,4 @@ -version = "0.1" +version = "0.1.0-SNAPSHOT" group = "nova.sample.block" + +archivesBaseName = "NOVA-Example-Block" diff --git a/entity/build.gradle b/entity/build.gradle index 7731663..f53ee88 100644 --- a/entity/build.gradle +++ b/entity/build.gradle @@ -1,2 +1,4 @@ -version = "0.1" +version = "0.1.0-SNAPSHOT" group = "nova.sample.entity" + +archivesBaseName = "NOVA-Example-Entity" diff --git a/gui/build.gradle b/gui/build.gradle index 9213dae..7dccd3b 100644 --- a/gui/build.gradle +++ b/gui/build.gradle @@ -1,6 +1,8 @@ -version = "0.1" +version = "0.1.0-SNAPSHOT" group = "nova.sample.gui" +archivesBaseName = "NOVA-Example-GUI" + dependencies { compile group: "nova.gui", name: "NOVA-GUI", version: "0.0.1-SNAPSHOT", changing: true } \ No newline at end of file diff --git a/item/build.gradle b/item/build.gradle index af95ad0..7a555e3 100644 --- a/item/build.gradle +++ b/item/build.gradle @@ -1,2 +1,4 @@ -version = "0.1" +version = "0.1.0-SNAPSHOT" group = "nova.sample.item" + +archivesBaseName = "NOVA-Example-Item" diff --git a/worldgen/build.gradle b/worldgen/build.gradle index 4480800..c502f49 100644 --- a/worldgen/build.gradle +++ b/worldgen/build.gradle @@ -1,6 +1,8 @@ -version = "0.1" +version = "0.1.0-SNAPSHOT" group = "nova.sample.worldgen" +archivesBaseName = "NOVA-Example-Worldgen" + dependencies { compile group: "nova.worldgen", name: "NOVA-Worldgen", version: "0.0.1-SNAPSHOT", changing: true } \ No newline at end of file From da34a243d6746cc34cced605c8425ed07a13a414 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Thu, 5 Jan 2017 23:39:05 +0100 Subject: [PATCH 11/12] Namespace ids --- .../java/nova/sample/block/NovaBlock.java | 4 +-- .../main/java/nova/sample/gui/NovaGui.java | 5 +-- .../main/java/nova/sample/item/NovaItem.java | 29 +++++++++--------- .../nova/sample/worldgen/NovaWorldgen.java | 6 ++-- .../textures/blocks/ore_steel.png | Bin .../textures/items/ingot_steel.png | Bin 6 files changed, 23 insertions(+), 21 deletions(-) rename worldgen/src/main/{java/assets/novaworldgen => resources/assets/novaexampleworldgen}/textures/blocks/ore_steel.png (100%) rename worldgen/src/main/{java/assets/novaworldgen => resources/assets/novaexampleworldgen}/textures/items/ingot_steel.png (100%) diff --git a/block/src/main/java/nova/sample/block/NovaBlock.java b/block/src/main/java/nova/sample/block/NovaBlock.java index 074fc12..9ebb930 100644 --- a/block/src/main/java/nova/sample/block/NovaBlock.java +++ b/block/src/main/java/nova/sample/block/NovaBlock.java @@ -64,8 +64,8 @@ public void preInit() { steelTexture = renderManager.registerTexture(new BlockTexture(id, "block_steel")); grinderTexture = renderManager.registerTexture(new BlockTexture(id, "grinder")); - blockStateful = blockManager.register("stateful", BlockStateful::new); - blockStateless = blockManager.register("simple", BlockStateless::new); + blockStateless = blockManager.register(id + ":simple", BlockStateless::new); + blockBasicDuster = blockManager.register(id + ":basic_duster", BasicDuster::new); itemBlockStateful = itemManager.getItemFromBlock(blockStateful); itemBlockStateless = itemManager.getItemFromBlock(blockStateless); diff --git a/gui/src/main/java/nova/sample/gui/NovaGui.java b/gui/src/main/java/nova/sample/gui/NovaGui.java index 0f6286f..0c707be 100644 --- a/gui/src/main/java/nova/sample/gui/NovaGui.java +++ b/gui/src/main/java/nova/sample/gui/NovaGui.java @@ -103,14 +103,15 @@ public static void initializeGUI() { @Override public void preInit() { - blockTest = blockManager.register("gui", BlockSimpleTest::new); + blockTest = blockManager.register(id + ":gui", BlockSimpleTest::new); itemBlockTest = itemManager.getItemFromBlock(blockTest); steelTexture = renderManager.registerTexture(new BlockTexture(id, "block_steel")); // try to add a recipe - ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too + //ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too + ItemIngredient stickIngredient = ItemIngredient.forDictionary("stickWood"); ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockTest.build(), "AAA-ABA-AAA", ingotIngredient, stickIngredient)); diff --git a/item/src/main/java/nova/sample/item/NovaItem.java b/item/src/main/java/nova/sample/item/NovaItem.java index 1a9f96c..566a72e 100644 --- a/item/src/main/java/nova/sample/item/NovaItem.java +++ b/item/src/main/java/nova/sample/item/NovaItem.java @@ -16,28 +16,29 @@ */ @Mod(id = NovaItem.id, name = "Nova Example Item", version = "0.0.1", novaVersion = "0.0.1") public class NovaItem implements Loadable { - public static final String id = "novaitem"; + public static final String id = "novaitem"; - public static ItemFactory itemScrewdriver; - public static ItemTexture screwTexture; + public static ItemFactory itemScrewdriver; + public static ItemTexture screwTexture; - public final ItemManager itemManager; - public final RenderManager renderManager; - public final RecipeManager recipeManager; + public final ItemManager itemManager; + public final RenderManager renderManager; + public final RecipeManager recipeManager; - public NovaItem(ItemManager itemManager, RenderManager renderManager, RecipeManager recipeManager) { + public NovaItem(ItemManager itemManager, RenderManager renderManager, RecipeManager recipeManager) { this.itemManager = itemManager; this.renderManager = renderManager; this.recipeManager = recipeManager; } - @Override - public void preInit() { + @Override + public void preInit() { screwTexture = renderManager.registerTexture(new ItemTexture(id, "screwdriver")); - itemScrewdriver = itemManager.register("testscrewdriver", ItemScrewdriver::new); + itemScrewdriver = itemManager.register(id + ":testscrewdriver", ItemScrewdriver::new); - ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too - ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); - recipeManager.addRecipe(new ShapedCraftingRecipe(itemScrewdriver.build(), "A- B", true, ingotIngredient, stickIngredient)); - } + //ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too + ItemIngredient stickIngredient = ItemIngredient.forDictionary("stickWood"); + ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron"); + recipeManager.addRecipe(new ShapedCraftingRecipe(itemScrewdriver.build(), "A- B", true, ingotIngredient, stickIngredient)); + } } diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index 9c3df9e..4e9e551 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -52,12 +52,12 @@ public void preInit() { steelOreTexture = renderManager.registerTexture(new BlockTexture(id, "ore_steel")); steelIngotTexture = renderManager.registerTexture(new ItemTexture(id, "ingot_steel")); - blockSteelOre = blockManager.register("steel_ore", BlockSteelOre::new); - itemSteelIngot = itemManager.register("steel_ingot", ItemSteelIngot::new); + blockSteelOre = blockManager.register(id + ":steel_ore", BlockSteelOre::new); + itemSteelIngot = itemManager.register(id + ":steel_ingot", ItemSteelIngot::new); itemBlockSteelOre = itemManager.getItemFromBlock(blockSteelOre); - oreSteel = worldgenManager.register(new Ore("steel_ore", blockSteelOre, 1, 1, + oreSteel = worldgenManager.register(new Ore(id + ":steel_ore", blockSteelOre, 1, 1, EnumSelector.of(OreHeight.class).blockAll().apart(OreHeight.DEEP).lock())); } } diff --git a/worldgen/src/main/java/assets/novaworldgen/textures/blocks/ore_steel.png b/worldgen/src/main/resources/assets/novaexampleworldgen/textures/blocks/ore_steel.png similarity index 100% rename from worldgen/src/main/java/assets/novaworldgen/textures/blocks/ore_steel.png rename to worldgen/src/main/resources/assets/novaexampleworldgen/textures/blocks/ore_steel.png diff --git a/worldgen/src/main/java/assets/novaworldgen/textures/items/ingot_steel.png b/worldgen/src/main/resources/assets/novaexampleworldgen/textures/items/ingot_steel.png similarity index 100% rename from worldgen/src/main/java/assets/novaworldgen/textures/items/ingot_steel.png rename to worldgen/src/main/resources/assets/novaexampleworldgen/textures/items/ingot_steel.png From 56784c190b02d1d242c47d722022fa17bca5d764 Mon Sep 17 00:00:00 2001 From: ExE Boss Date: Fri, 6 Jan 2017 21:48:26 +0100 Subject: [PATCH 12/12] Make MOD_ID constant uppercase --- .../java/nova/sample/block/NovaBlock.java | 25 +++++++++---------- .../java/nova/sample/entity/NovaEntity.java | 7 +++--- .../main/java/nova/sample/gui/NovaGui.java | 18 ++++++------- .../main/java/nova/sample/item/NovaItem.java | 12 +++++---- .../nova/sample/worldgen/NovaWorldgen.java | 14 +++++------ 5 files changed, 39 insertions(+), 37 deletions(-) diff --git a/block/src/main/java/nova/sample/block/NovaBlock.java b/block/src/main/java/nova/sample/block/NovaBlock.java index 9ebb930..baecc44 100644 --- a/block/src/main/java/nova/sample/block/NovaBlock.java +++ b/block/src/main/java/nova/sample/block/NovaBlock.java @@ -21,10 +21,10 @@ * * @author Calclavia */ -@Mod(id = NovaBlock.id, name = "Nova Example Block", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaBlock.MOD_ID, name = "Nova Example Block", version = "0.0.1", novaVersion = "0.0.1") public class NovaBlock implements Loadable { - public static final String id = "novablock"; + public static final String MOD_ID = "novablock"; public static BlockFactory blockStateful; public static BlockFactory blockStateless; @@ -47,10 +47,10 @@ public class NovaBlock implements Loadable { public final RecipeManager recipeManager; public NovaBlock(BlockManager blockManager, - ItemManager itemManager, - RenderManager renderManager, - NetworkManager networkManager, - RecipeManager recipeManager) { + ItemManager itemManager, + RenderManager renderManager, + NetworkManager networkManager, + RecipeManager recipeManager) { this.blockManager = blockManager; this.itemManager = itemManager; this.renderManager = renderManager; @@ -61,18 +61,17 @@ public NovaBlock(BlockManager blockManager, @Override public void preInit() { - steelTexture = renderManager.registerTexture(new BlockTexture(id, "block_steel")); - grinderTexture = renderManager.registerTexture(new BlockTexture(id, "grinder")); + steelTexture = renderManager.registerTexture(new BlockTexture(MOD_ID, "block_steel")); + grinderTexture = renderManager.registerTexture(new BlockTexture(MOD_ID, "grinder")); - blockStateless = blockManager.register(id + ":simple", BlockStateless::new); - blockBasicDuster = blockManager.register(id + ":basic_duster", BasicDuster::new); + blockStateful = blockManager.register(MOD_ID + ":stateful", BlockStateful::new); + blockStateless = blockManager.register(MOD_ID + ":simple", BlockStateless::new); itemBlockStateful = itemManager.getItemFromBlock(blockStateful); itemBlockStateless = itemManager.getItemFromBlock(blockStateless); - grinderEntityTexture = renderManager.registerTexture(new EntityTexture(id, "grinder_entity")); - - grinderModel = renderManager.registerModel(new TechneModelProvider(id, "grinder")); + grinderEntityTexture = renderManager.registerTexture(new EntityTexture(MOD_ID, "grinder_entity")); + grinderModel = renderManager.registerModel(new TechneModelProvider(MOD_ID, "grinder")); // try to add a recipe //ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too diff --git a/entity/src/main/java/nova/sample/entity/NovaEntity.java b/entity/src/main/java/nova/sample/entity/NovaEntity.java index 5f164b8..8f1e1dd 100644 --- a/entity/src/main/java/nova/sample/entity/NovaEntity.java +++ b/entity/src/main/java/nova/sample/entity/NovaEntity.java @@ -15,15 +15,16 @@ * * @author ExE Boss */ -@Mod(id = NovaEntity.id, name = "Nova Example Entity", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaEntity.MOD_ID, name = "Nova Example Entity", version = "0.0.1", novaVersion = "0.0.1") public class NovaEntity implements Loadable { - public static final String id = "novaentity"; + public static final String MOD_ID = "novaentity"; public final EntityManager entityManager; public final RenderManager renderManager; - public NovaEntity(EntityManager entityManager, RenderManager renderManager) { + public NovaEntity(EntityManager entityManager, + RenderManager renderManager) { this.entityManager = entityManager; this.renderManager = renderManager; } diff --git a/gui/src/main/java/nova/sample/gui/NovaGui.java b/gui/src/main/java/nova/sample/gui/NovaGui.java index 0c707be..3441428 100644 --- a/gui/src/main/java/nova/sample/gui/NovaGui.java +++ b/gui/src/main/java/nova/sample/gui/NovaGui.java @@ -33,10 +33,10 @@ * * @author Calclavia */ -@Mod(id = NovaGui.id, name = "Nova GUI example", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaGui.MOD_ID, name = "Nova GUI example", version = "0.0.1", novaVersion = "0.0.1") public class NovaGui implements Loadable { - public static final String id = "novaexamplegui"; + public static final String MOD_ID = "novaexamplegui"; public static BlockFactory blockTest; public static ItemFactory itemBlockTest; @@ -51,11 +51,11 @@ public class NovaGui implements Loadable { public final RecipeManager recipeManager; public NovaGui(BlockManager blockManager, - ItemManager itemManager, - RenderManager renderManager, - GuiManager guiFactory, - RecipeManager recipeManager, - NetworkManager networkManager) { + ItemManager itemManager, + RenderManager renderManager, + GuiManager guiFactory, + RecipeManager recipeManager, + NetworkManager networkManager) { this.blockManager = blockManager; this.itemManager = itemManager; this.renderManager = renderManager; @@ -103,11 +103,11 @@ public static void initializeGUI() { @Override public void preInit() { - blockTest = blockManager.register(id + ":gui", BlockSimpleTest::new); + blockTest = blockManager.register(MOD_ID + ":gui", BlockSimpleTest::new); itemBlockTest = itemManager.getItemFromBlock(blockTest); - steelTexture = renderManager.registerTexture(new BlockTexture(id, "block_steel")); + steelTexture = renderManager.registerTexture(new BlockTexture(MOD_ID, "block_steel")); // try to add a recipe //ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too diff --git a/item/src/main/java/nova/sample/item/NovaItem.java b/item/src/main/java/nova/sample/item/NovaItem.java index 566a72e..80b45a1 100644 --- a/item/src/main/java/nova/sample/item/NovaItem.java +++ b/item/src/main/java/nova/sample/item/NovaItem.java @@ -14,9 +14,9 @@ /** * Created by magik6k on 5/29/15. */ -@Mod(id = NovaItem.id, name = "Nova Example Item", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaItem.MOD_ID, name = "Nova Example Item", version = "0.0.1", novaVersion = "0.0.1") public class NovaItem implements Loadable { - public static final String id = "novaitem"; + public static final String MOD_ID = "novaitem"; public static ItemFactory itemScrewdriver; public static ItemTexture screwTexture; @@ -25,7 +25,9 @@ public class NovaItem implements Loadable { public final RenderManager renderManager; public final RecipeManager recipeManager; - public NovaItem(ItemManager itemManager, RenderManager renderManager, RecipeManager recipeManager) { + public NovaItem(ItemManager itemManager, + RenderManager renderManager, + RecipeManager recipeManager) { this.itemManager = itemManager; this.renderManager = renderManager; this.recipeManager = recipeManager; @@ -33,8 +35,8 @@ public NovaItem(ItemManager itemManager, RenderManager renderManager, RecipeMana @Override public void preInit() { - screwTexture = renderManager.registerTexture(new ItemTexture(id, "screwdriver")); - itemScrewdriver = itemManager.register(id + ":testscrewdriver", ItemScrewdriver::new); + screwTexture = renderManager.registerTexture(new ItemTexture(MOD_ID, "screwdriver")); + itemScrewdriver = itemManager.register(MOD_ID + ":testscrewdriver", ItemScrewdriver::new); //ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too ItemIngredient stickIngredient = ItemIngredient.forDictionary("stickWood"); diff --git a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java index 4e9e551..f754932 100644 --- a/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java +++ b/worldgen/src/main/java/nova/sample/worldgen/NovaWorldgen.java @@ -15,9 +15,9 @@ import nova.worldgen.ore.Ore; import nova.worldgen.ore.OreHeight; -@Mod(id = NovaWorldgen.id, name = "Nova Worldgen Example", version = "0.0.1", novaVersion = "0.0.1") +@Mod(id = NovaWorldgen.MOD_ID, name = "Nova Worldgen Example", version = "0.0.1", novaVersion = "0.0.1") public class NovaWorldgen implements Loadable { - public static final String id = "novaexampleworldgen"; + public static final String MOD_ID = "novaexampleworldgen"; public static BlockFactory blockSteelOre; @@ -49,15 +49,15 @@ public NovaWorldgen(BlockManager blockManager, @Override public void preInit() { - steelOreTexture = renderManager.registerTexture(new BlockTexture(id, "ore_steel")); - steelIngotTexture = renderManager.registerTexture(new ItemTexture(id, "ingot_steel")); + steelOreTexture = renderManager.registerTexture(new BlockTexture(MOD_ID, "ore_steel")); + steelIngotTexture = renderManager.registerTexture(new ItemTexture(MOD_ID, "ingot_steel")); - blockSteelOre = blockManager.register(id + ":steel_ore", BlockSteelOre::new); - itemSteelIngot = itemManager.register(id + ":steel_ingot", ItemSteelIngot::new); + blockSteelOre = blockManager.register(MOD_ID + ":steel_ore", BlockSteelOre::new); + itemSteelIngot = itemManager.register(MOD_ID + ":steel_ingot", ItemSteelIngot::new); itemBlockSteelOre = itemManager.getItemFromBlock(blockSteelOre); - oreSteel = worldgenManager.register(new Ore(id + ":steel_ore", blockSteelOre, 1, 1, + oreSteel = worldgenManager.register(new Ore(MOD_ID + ":steel_ore", blockSteelOre, 1, 1, EnumSelector.of(OreHeight.class).blockAll().apart(OreHeight.DEEP).lock())); } }