Skip to content

Commit cda83b5

Browse files
committed
Update to latest snapshot
1 parent 2bcb447 commit cda83b5

25 files changed

Lines changed: 222 additions & 135 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
!/block
1010
!/gui
1111
!/item
12+
!/entity
13+
!/worldgen
1214
!/old
1315
!/guidelines
1416

block/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1-
version = "0.1"
1+
version = "0.1.0-SNAPSHOT"
22
group = "nova.sample.block"
3+
4+
archivesBaseName = "NOVA-Example-Block"

block/src/main/java/nova/sample/block/BlockStateful.java

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
import nova.core.component.Component;
77
import nova.core.component.Passthrough;
88
import nova.core.component.misc.Collider;
9-
import nova.core.component.renderer.ItemRenderer;
109
import nova.core.component.renderer.StaticRenderer;
1110
import nova.core.network.NetworkTarget;
1211
import nova.core.network.Packet;
1312
import nova.core.network.Syncable;
1413
import nova.core.network.Sync;
14+
import nova.core.render.model.MeshModel;
1515
import nova.core.render.model.Model;
1616
import nova.core.retention.Storable;
1717
import nova.core.retention.Store;
@@ -32,25 +32,21 @@ public class BlockStateful extends Block implements Storable, Stateful, Syncable
3232
private double angle = 0;
3333

3434
public BlockStateful() {
35+
components.add(new Collider(this).isOpaqueCube(false));
36+
components.add(new StaticRenderer().onRender(model -> {
37+
Model grinderModel = NovaBlock.grinderModel.getModel();
3538

36-
add(new Collider(this).isOpaqueCube(false));
39+
grinderModel
40+
.combineChildren("crank", "crank1", "crank2", "crank3")
41+
.matrix.rotate(new Rotation(RotationUtil.DEFAULT_ORDER, 0, 0, angle));
3742

38-
add(new StaticRenderer(this)
39-
.setOnRender(model -> {
40-
Model grinderModel = NovaBlock.grinderModel.getModel();
43+
if (grinderModel instanceof MeshModel)
44+
((MeshModel)grinderModel).bindAll(NovaBlock.grinderTexture);
4145

42-
grinderModel
43-
.combineChildren("crank", "crank1", "crank2", "crank3")
44-
.matrix.rotate(new Rotation(RotationUtil.DEFAULT_ORDER,0, 0, angle));
45-
46-
model.children.add(grinderModel);
47-
model.bindAll(NovaBlock.grinderTexture);
48-
}
49-
)
50-
);
51-
add(new ItemRenderer(this));
52-
add(new Category("buildingBlocks"));
53-
//add(new TestComponent());
46+
model.children.add(grinderModel);
47+
}));
48+
components.add(new Category("buildingBlocks"));
49+
//components.add(new TestComponent());
5450

5551
events.on(RightClickEvent.class).bind(this::onRightClick);
5652
}
@@ -70,11 +66,6 @@ public void read(Packet packet) {
7066
world().markStaticRender(position());
7167
}
7268

73-
@Override
74-
public String getID() {
75-
return "stateful";
76-
}
77-
7869
public static interface TestInterface {
7970
public void test();
8071
}
Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package nova.sample.block;
22

33
import nova.core.block.Block;
4-
import nova.core.block.component.StaticBlockRenderer;
54
import nova.core.component.Category;
65
import nova.core.component.misc.Collider;
7-
import nova.core.component.renderer.ItemRenderer;
6+
import nova.core.component.renderer.StaticRenderer;
87
import nova.core.network.Packet;
98
import nova.core.network.Syncable;
9+
import nova.core.render.pipeline.BlockRenderPipeline;
1010

1111
/**
1212
* Literally, this is a test block.
@@ -15,13 +15,10 @@
1515
public class BlockStateless extends Block implements Syncable {
1616

1717
public BlockStateless() {
18-
add(new StaticBlockRenderer(this)).setTexture(NovaBlock.steelTexture);
18+
components.add(new StaticRenderer().onRender(new BlockRenderPipeline(this).withTexture(NovaBlock.steelTexture).build()));
19+
components.add(new Collider(this));
20+
components.add(new Category("buildingBlocks"));
1921

20-
add(new Collider(this));
21-
22-
add(new ItemRenderer(this));
23-
24-
add(new Category("buildingBlocks"));
2522
events.on(RightClickEvent.class).bind(this::onRightClick);
2623
}
2724

@@ -39,9 +36,4 @@ public void read(Packet packet) {
3936
public void write(Packet packet) {
4037
packet.writeInt(1234);
4138
}
42-
43-
@Override
44-
public String getID() {
45-
return "simple";
46-
}
4739
}

block/src/main/java/nova/sample/block/NovaBlock.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
import nova.core.item.ItemFactory;
66
import nova.core.item.ItemManager;
77
import nova.core.loader.Loadable;
8-
import nova.core.loader.NovaMod;
9-
import nova.core.nativewrapper.NativeManager;
8+
import nova.core.loader.Mod;
109
import nova.core.network.NetworkManager;
1110
import nova.core.recipes.RecipeManager;
1211
import nova.core.recipes.crafting.ItemIngredient;
@@ -22,10 +21,10 @@
2221
*
2322
* @author Calclavia
2423
*/
25-
@NovaMod(id = NovaBlock.id, name = "Nova Example Block", version = "0.0.1", novaVersion = "0.0.1")
24+
@Mod(id = NovaBlock.MOD_ID, name = "Nova Example Block", version = "0.0.1", novaVersion = "0.0.1")
2625
public class NovaBlock implements Loadable {
2726

28-
public static final String id = "novablock";
27+
public static final String MOD_ID = "novablock";
2928

3029
public static BlockFactory blockStateful;
3130
public static BlockFactory blockStateless;
@@ -48,10 +47,10 @@ public class NovaBlock implements Loadable {
4847
public final RecipeManager recipeManager;
4948

5049
public NovaBlock(BlockManager blockManager,
51-
ItemManager itemManager,
52-
RenderManager renderManager,
53-
NetworkManager networkManager,
54-
RecipeManager recipeManager) {
50+
ItemManager itemManager,
51+
RenderManager renderManager,
52+
NetworkManager networkManager,
53+
RecipeManager recipeManager) {
5554
this.blockManager = blockManager;
5655
this.itemManager = itemManager;
5756
this.renderManager = renderManager;
@@ -62,23 +61,23 @@ public NovaBlock(BlockManager blockManager,
6261

6362
@Override
6463
public void preInit() {
65-
steelTexture = renderManager.registerTexture(new BlockTexture(id, "blockSteel"));
66-
grinderTexture = renderManager.registerTexture(new BlockTexture(id, "grinder"));
64+
steelTexture = renderManager.registerTexture(new BlockTexture(MOD_ID, "block_steel"));
65+
grinderTexture = renderManager.registerTexture(new BlockTexture(MOD_ID, "grinder"));
6766

68-
blockStateful = blockManager.register(BlockStateful.class);
69-
blockStateless = blockManager.register(BlockStateless.class);
67+
blockStateful = blockManager.register(MOD_ID + ":stateful", BlockStateful::new);
68+
blockStateless = blockManager.register(MOD_ID + ":simple", BlockStateless::new);
7069

7170
itemBlockStateful = itemManager.getItemFromBlock(blockStateful);
7271
itemBlockStateless = itemManager.getItemFromBlock(blockStateless);
7372

74-
grinderEntityTexture = renderManager.registerTexture(new EntityTexture(id, "grinderEntity"));
75-
76-
grinderModel = renderManager.registerModel(new TechneModelProvider(id, "grinder"));
73+
grinderEntityTexture = renderManager.registerTexture(new EntityTexture(MOD_ID, "grinder_entity"));
74+
grinderModel = renderManager.registerModel(new TechneModelProvider(MOD_ID, "grinder"));
7775

7876
// try to add a recipe
79-
ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too
77+
//ItemIngredient stickIngredient = ItemIngredient.forItem("minecraft:stick"); //TODO: This should be obtained from some dictonary too
78+
ItemIngredient stickIngredient = ItemIngredient.forDictionary("stickWood");
8079
ItemIngredient ingotIngredient = ItemIngredient.forDictionary("ingotIron");
8180

82-
recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockStateless.makeItem(), "AAA-ABA-AAA", ingotIngredient, stickIngredient));
81+
recipeManager.addRecipe(new ShapedCraftingRecipe(itemBlockStateless.build(), "AAA-ABA-AAA", ingotIngredient, stickIngredient));
8382
}
8483
}

block/src/main/resources/assets/novablock/textures/blocks/blockSteel.png renamed to block/src/main/resources/assets/novablock/textures/blocks/block_steel.png

File renamed without changes.

block/src/main/resources/assets/novablock/textures/entities/grinderEntity.png renamed to block/src/main/resources/assets/novablock/textures/entities/grinder_entity.png

File renamed without changes.

build.gradle

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
plugins {
22
id "java"
3-
id "nova.gradle" version "0.2.4"
3+
id "nova.gradle" version "0.2.6"
44
}
55

6-
76
subprojects {
87
apply plugin: "java"
98
apply plugin: "nova.gradle"
@@ -23,12 +22,11 @@ subprojects {
2322
nova {
2423
wrappers {
2524
"17" {
26-
wrapper "nova.wrapper.mc1710:NovaWrapper-MC1.7.10:0.1-SNAPSHOT"
25+
wrapper "nova.core:NOVA-Core-Wrapper-MC1.7:$nova_version"
2726
}
2827
"18" {
29-
wrapper "nova.wrapper.mc18:NovaWrapper-MC1.8:0.1-SNAPSHOT"
28+
wrapper "nova.core:NOVA-Core-Wrapper-MC1.8:$nova_version"
3029
}
3130
}
3231
}
33-
3432
}

entity/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
version = "0.1.0-SNAPSHOT"
2+
group = "nova.sample.entity"
3+
4+
archivesBaseName = "NOVA-Example-Entity"
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package nova.sample.entity;
2+
3+
import nova.core.entity.EntityManager;
4+
import nova.core.loader.Loadable;
5+
import nova.core.loader.Mod;
6+
import nova.core.render.RenderManager;
7+
8+
/**
9+
* Used to test NOVA entities.
10+
*
11+
* @author ExE Boss
12+
*/
13+
@Mod(id = NovaEntity.MOD_ID, name = "Nova Example Entity", version = "0.0.1", novaVersion = "0.0.1")
14+
public class NovaEntity implements Loadable {
15+
16+
public static final String MOD_ID = "novaentity";
17+
18+
public final EntityManager entityManager;
19+
public final RenderManager renderManager;
20+
21+
public NovaEntity(EntityManager entityManager,
22+
RenderManager renderManager) {
23+
this.entityManager = entityManager;
24+
this.renderManager = renderManager;
25+
}
26+
}

0 commit comments

Comments
 (0)