Skip to content

Commit

Permalink
added bloom boats
Browse files Browse the repository at this point in the history
  • Loading branch information
NewJumper committed Nov 28, 2023
1 parent 4f2c40d commit 5d9eb56
Show file tree
Hide file tree
Showing 20 changed files with 52 additions and 15 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
// 1.20.1 2023-11-26T19:17:11.7958167 Item Models: deeperdarker
// 1.20.1 2023-11-28T17:41:19.4852925 Item Models: deeperdarker
b36185a1f9e1c105ef9ef404ee0483eedd9ecd79 assets/deeperdarker/models/item/ancient_vase.json
f2fe62e9aa1b817d10053a94259d530922d39562 assets/deeperdarker/models/item/blooming_moss_block.json
f2108fa9acd703168e4f624814814d262e868c9b assets/deeperdarker/models/item/blooming_sculk_stone.json
c35424ad127b66c351f775c4e6927d4702835814 assets/deeperdarker/models/item/blooming_stem.json
f7f3d2c00b77bce5d3a8b071d45e277e04beb685 assets/deeperdarker/models/item/bloom_berries.json
78656ecfdb0da07acd453b550a76da16c1598d67 assets/deeperdarker/models/item/bloom_boat.json
996c2447684c566aa1f4a07af3ad2680a61ddcde assets/deeperdarker/models/item/bloom_button.json
8b44c9ff7dee4b04c620b337f8b95d7bd9d9acc5 assets/deeperdarker/models/item/bloom_chest_boat.json
30269392c69a1c670dd0fc9425ff8415ce25c0b9 assets/deeperdarker/models/item/bloom_fence.json
57f666948807e017e04c9571e2f60a8b8c5e7fa5 assets/deeperdarker/models/item/bloom_fence_gate.json
5954308509069fdc6423d50a6785d4343eb27189 assets/deeperdarker/models/item/bloom_planks.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.1 2023-11-26T19:17:11.7958167 Tags for minecraft:item mod id deeperdarker
// 1.20.1 2023-11-28T17:41:19.4795616 Tags for minecraft:item mod id deeperdarker
a84781beeff4cf18e5532d7e95fe62956c365027 data/deeperdarker/tags/items/dampens_vibrations.json
3254a070f3d679712b15610724ab74c5900e0204 data/deeperdarker/tags/items/echo_logs.json
a84781beeff4cf18e5532d7e95fe62956c365027 data/forge/tags/items/armors/boots.json
Expand All @@ -16,8 +16,8 @@ e85880d9acf64424927082c80e9af7c9f50de52f data/forge/tags/items/ores/lapis.json
b87f41ec93385cf003a9e81713446620acd52b86 data/forge/tags/items/ores/redstone.json
d88fb43be0304b77c90c64f924fa2b46c4eeea4a data/forge/tags/items/stone.json
fdb484f4a210e2dd05f467df98f15fd1f3a73196 data/minecraft/tags/items/axes.json
46a970866e0f7a97eb38ae9eb6b564804fd8bf61 data/minecraft/tags/items/boats.json
fed577a93949a2c8794141b01cf67a4303f6b5d0 data/minecraft/tags/items/chest_boats.json
828ad83b431bb94c090ae2c19a590f9f05e876ea data/minecraft/tags/items/boats.json
228936f18b279028fc9028a3e9fd11dbc0674eab data/minecraft/tags/items/chest_boats.json
ec4e45d46ce1593f9bb4b226a1e3d143bc0942c6 data/minecraft/tags/items/coal_ores.json
dc2be5311ef04baad7565936ffafc6dcea324cf1 data/minecraft/tags/items/copper_ores.json
84c6024e42063deecc27f59b5a97328b415f4a05 data/minecraft/tags/items/diamond_ores.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.20.1 2023-11-26T19:17:11.8142105 Languages: en_us
c52be7e975ba8fa899e1dee224798faa7c2efad7 assets/deeperdarker/lang/en_us.json
// 1.20.1 2023-11-28T17:41:19.4932988 Languages: en_us
11659e4059b1be7eb30adc9e5802fc7e92fcc8e9 assets/deeperdarker/lang/en_us.json
2 changes: 2 additions & 0 deletions src/generated/resources/assets/deeperdarker/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,8 @@
"entity.deeperdarker.shriek_worm": "Shriek Worm",
"entity.deeperdarker.stalker": "Stalker",
"item.deeperdarker.bloom_berries": "Bloom Berries",
"item.deeperdarker.bloom_boat": "Bloom Boat",
"item.deeperdarker.bloom_chest_boat": "Bloom Boat with Chest",
"item.deeperdarker.echo_boat": "Echo Boat",
"item.deeperdarker.echo_chest_boat": "Echo Boat with Chest",
"item.deeperdarker.grime_ball": "Grime Ball",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "deeperdarker:item/bloom_boat"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "deeperdarker:item/bloom_chest_boat"
}
}
3 changes: 2 additions & 1 deletion src/generated/resources/data/minecraft/tags/items/boats.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
"deeperdarker:echo_boat"
"deeperdarker:echo_boat",
"deeperdarker:bloom_boat"
]
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
"deeperdarker:echo_chest_boat"
"deeperdarker:echo_chest_boat",
"deeperdarker:bloom_chest_boat"
]
}
2 changes: 2 additions & 0 deletions src/main/java/com/kyanite/deeperdarker/DeeperDarker.java
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,8 @@ public static void clientSetup(final FMLClientSetupEvent event) {
public static void registerLayers(final EntityRenderersEvent.RegisterLayerDefinitions event) {
event.registerLayerDefinition(DDBoatRenderer.ECHO_BOAT_MODEL, BoatModel::createBodyModel);
event.registerLayerDefinition(DDBoatRenderer.ECHO_CHEST_BOAT_MODEL, ChestBoatModel::createBodyModel);
event.registerLayerDefinition(DDBoatRenderer.BLOOM_BOAT_MODEL, BoatModel::createBodyModel);
event.registerLayerDefinition(DDBoatRenderer.BLOOM_CHEST_BOAT_MODEL, ChestBoatModel::createBodyModel);
event.registerLayerDefinition(SculkCentipedeRenderer.MODEL, SculkCentipedeModel::createBodyModel);
event.registerLayerDefinition(SculkLeechRenderer.MODEL, SculkLeechModel::createBodyModel);
event.registerLayerDefinition(SculkSnapperRenderer.MODEL, SculkSnapperModel::createBodyModel);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.google.common.collect.ImmutableMap;
import com.kyanite.deeperdarker.DeeperDarker;
import com.kyanite.deeperdarker.content.DDBlocks;
import com.kyanite.deeperdarker.content.entities.DDBoat;
import com.kyanite.deeperdarker.content.entities.DDChestBoat;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.model.BoatModel;
import net.minecraft.client.model.ChestBoatModel;
Expand All @@ -20,22 +22,31 @@
public class DDBoatRenderer extends BoatRenderer {
public static final ModelLayerLocation ECHO_CHEST_BOAT_MODEL = new ModelLayerLocation(new ResourceLocation(DeeperDarker.MOD_ID, "chest_boat/echo"), "main");
public static final ModelLayerLocation ECHO_BOAT_MODEL = new ModelLayerLocation(new ResourceLocation(DeeperDarker.MOD_ID, "boat/echo"), "main");
public static final ModelLayerLocation BLOOM_CHEST_BOAT_MODEL = new ModelLayerLocation(new ResourceLocation(DeeperDarker.MOD_ID, "chest_boat/bloom"), "main");
public static final ModelLayerLocation BLOOM_BOAT_MODEL = new ModelLayerLocation(new ResourceLocation(DeeperDarker.MOD_ID, "boat/bloom"), "main");
private final boolean HAS_CHEST;
private final Map<String, Pair<ResourceLocation, ListModel<Boat>>> BOAT_RESOURCES;
private final Map<String, ModelLayerLocation> chestBoatModels;
private final Map<String, ModelLayerLocation> boatModels;

public DDBoatRenderer(EntityRendererProvider.Context pContext, boolean pChestBoat) {
super(pContext, pChestBoat);
this.HAS_CHEST = pChestBoat;
this.BOAT_RESOURCES = ImmutableMap.of(DDBlocks.ECHO.name(), Pair.of(new ResourceLocation(DeeperDarker.MOD_ID, "textures/entity/" + (pChestBoat ? "chest_boat" : "boat") + "/" + DDBlocks.ECHO.name() + ".png"), this.createBoatModel(pContext)));
this.chestBoatModels = Map.of(DDBlocks.ECHO.name(), ECHO_CHEST_BOAT_MODEL, DDBlocks.BLOOM.name(), BLOOM_CHEST_BOAT_MODEL);
this.boatModels = Map.of(DDBlocks.ECHO.name(), ECHO_BOAT_MODEL, DDBlocks.BLOOM.name(), BLOOM_BOAT_MODEL);
this.BOAT_RESOURCES = ImmutableMap.of(DDBlocks.ECHO.name(), Pair.of(new ResourceLocation(DeeperDarker.MOD_ID, "textures/entity/" + (pChestBoat ? "chest_boat" : "boat") + "/" + DDBlocks.ECHO.name() + ".png"), this.createBoatModel(pContext, DDBlocks.ECHO.name())),
DDBlocks.BLOOM.name(), Pair.of(new ResourceLocation(DeeperDarker.MOD_ID, "textures/entity/" + (pChestBoat ? "chest_boat" : "boat") + "/" + DDBlocks.BLOOM.name() + ".png"), this.createBoatModel(pContext, DDBlocks.BLOOM.name())));
}

private ListModel<Boat> createBoatModel(EntityRendererProvider.Context context) {
ModelPart modelPart = context.bakeLayer(HAS_CHEST ? ECHO_CHEST_BOAT_MODEL : ECHO_BOAT_MODEL);
private ListModel<Boat> createBoatModel(EntityRendererProvider.Context context, String boatType) {
ModelPart modelPart = context.bakeLayer(HAS_CHEST ? this.chestBoatModels.get(boatType) : this.boatModels.get(boatType));
return HAS_CHEST ? new ChestBoatModel(modelPart) : new BoatModel(modelPart);
}

@Override
public Pair<ResourceLocation, ListModel<Boat>> getModelWithLocation(Boat boat) {
if(boat instanceof DDBoat ddBoat) return BOAT_RESOURCES.get(ddBoat.getWoodType());
if(boat instanceof DDChestBoat ddChestBoat) return BOAT_RESOURCES.get(ddChestBoat.getWoodType());
return BOAT_RESOURCES.get("echo");
}
}
2 changes: 2 additions & 0 deletions src/main/java/com/kyanite/deeperdarker/content/DDItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ public class DDItems {
public static final RegistryObject<Item> SOUL_ELYTRA = ITEMS.register("soul_elytra", () -> new SoulElytraItem(new Item.Properties().durability(956).rarity(Rarity.UNCOMMON)));
public static final RegistryObject<Item> ECHO_BOAT = ITEMS.register("echo_boat", () -> new DDBoatItem(false, new Item.Properties().stacksTo(1), DDBlocks.ECHO));
public static final RegistryObject<Item> ECHO_CHEST_BOAT = ITEMS.register("echo_chest_boat", () -> new DDBoatItem(true, new Item.Properties().stacksTo(1), DDBlocks.ECHO));
public static final RegistryObject<Item> BLOOM_BOAT = ITEMS.register("bloom_boat", () -> new DDBoatItem(false, new Item.Properties().stacksTo(1), DDBlocks.BLOOM));
public static final RegistryObject<Item> BLOOM_CHEST_BOAT = ITEMS.register("bloom_chest_boat", () -> new DDBoatItem(true, new Item.Properties().stacksTo(1), DDBlocks.BLOOM));

public static final RegistryObject<Item> SCULK_BONE = ITEMS.register("sculk_bone", () -> new Item(new Item.Properties()));
public static final RegistryObject<Item> SOUL_DUST = ITEMS.register("soul_dust", () -> new Item(new Item.Properties()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ protected void defineSynchedData() {

@Override
public Item getDropItem() {
return DDItems.ECHO_BOAT.get();
return this.entityData.get(WOOD_TYPE).equals("echo") ? DDItems.ECHO_BOAT.get() : DDItems.BLOOM_BOAT.get();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ protected void defineSynchedData() {

@Override
public Item getDropItem() {
return DDItems.ECHO_CHEST_BOAT.get();
return this.entityData.get(WOOD_TYPE).equals("echo") ? DDItems.ECHO_CHEST_BOAT.get() : DDItems.BLOOM_CHEST_BOAT.get();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,8 @@ protected void registerModels() {
itemModel(DDItems.ECHO_HANGING_SIGN, GENERATED);
itemModel(DDItems.ECHO_BOAT, GENERATED);
itemModel(DDItems.ECHO_CHEST_BOAT, GENERATED);
itemModel(DDItems.BLOOM_BOAT, GENERATED);
itemModel(DDItems.BLOOM_CHEST_BOAT, GENERATED);

itemModel(DDItems.BLOOM_BERRIES, GENERATED);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ protected void addTags(HolderLookup.@NotNull Provider pProvider) {

copy(DDTags.Blocks.ECHO_LOGS, DDTags.Items.ECHO_LOGS);

tag(ItemTags.BOATS).add(DDItems.ECHO_BOAT.get());
tag(ItemTags.CHEST_BOATS).add(DDItems.ECHO_CHEST_BOAT.get());
tag(ItemTags.BOATS).add(DDItems.ECHO_BOAT.get(), DDItems.BLOOM_BOAT.get());
tag(ItemTags.CHEST_BOATS).add(DDItems.ECHO_CHEST_BOAT.get(), DDItems.BLOOM_CHEST_BOAT.get());
tag(ItemTags.SHOVELS).add(DDItems.WARDEN_SHOVEL.get());
tag(ItemTags.PICKAXES).add(DDItems.WARDEN_PICKAXE.get());
tag(ItemTags.AXES).add(DDItems.WARDEN_AXE.get());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ public static void buildCreativeTab(BuildCreativeModeTabContentsEvent event) {
event.accept(DDItems.SOUL_ELYTRA);
event.accept(DDItems.ECHO_BOAT);
event.accept(DDItems.ECHO_CHEST_BOAT);
event.accept(DDItems.BLOOM_BOAT);
event.accept(DDItems.BLOOM_CHEST_BOAT);

event.accept(DDItems.WARDEN_SHOVEL);
event.accept(DDItems.WARDEN_PICKAXE);
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5d9eb56

Please sign in to comment.