diff --git a/src/main/java/ru/betterend/integration/byg/BYGBlocks.java b/src/main/java/ru/betterend/integration/byg/BYGBlocks.java new file mode 100644 index 00000000..bb811560 --- /dev/null +++ b/src/main/java/ru/betterend/integration/byg/BYGBlocks.java @@ -0,0 +1,13 @@ +package ru.betterend.integration.byg; + +import net.minecraft.block.Block; +import ru.betterend.blocks.basis.BlockVine; +import ru.betterend.blocks.basis.BlockWallPlant; +import ru.betterend.registry.EndBlocks; + +public class BYGBlocks { + public static final Block IVIS_MOSS = EndBlocks.registerBlock("ivis_moss", new BlockWallPlant()); + public static final Block IVIS_VINE = EndBlocks.registerBlock("ivis_vine", new BlockVine()); + + public static void register() {} +} diff --git a/src/main/java/ru/betterend/integration/byg/BYGFeatures.java b/src/main/java/ru/betterend/integration/byg/BYGFeatures.java index 17255396..c8c49a41 100644 --- a/src/main/java/ru/betterend/integration/byg/BYGFeatures.java +++ b/src/main/java/ru/betterend/integration/byg/BYGFeatures.java @@ -3,10 +3,16 @@ package ru.betterend.integration.byg; import ru.betterend.integration.Integrations; import ru.betterend.world.features.EndFeature; import ru.betterend.world.features.SinglePlantFeature; +import ru.betterend.world.features.VineFeature; +import ru.betterend.world.features.WallPlantFeature; +import ru.betterend.world.features.WallPlantOnLogFeature; public class BYGFeatures { public static final EndFeature OLD_BULBIS_TREE = new EndFeature("old_bulbis_tree", new OldBulbisTreeFeature(), 1); public static final EndFeature IVIS_SPROUT = new EndFeature("ivis_sprout", new SinglePlantFeature(Integrations.BYG.getBlock("ivis_sprout"), 6), 9); + public static final EndFeature IVIS_VINE = new EndFeature("ivis_vine", new VineFeature(BYGBlocks.IVIS_VINE, 24), 5); + public static final EndFeature IVIS_MOSS = new EndFeature("ivis_moss", new WallPlantFeature(BYGBlocks.IVIS_MOSS, 6), 1); + public static final EndFeature IVIS_MOSS_WOOD = new EndFeature("ivis_moss_wood", new WallPlantOnLogFeature(BYGBlocks.IVIS_MOSS, 6), 15); public static void register() {} } diff --git a/src/main/java/ru/betterend/integration/byg/BYGIntegration.java b/src/main/java/ru/betterend/integration/byg/BYGIntegration.java index a2abf310..50696aa5 100644 --- a/src/main/java/ru/betterend/integration/byg/BYGIntegration.java +++ b/src/main/java/ru/betterend/integration/byg/BYGIntegration.java @@ -13,6 +13,7 @@ public class BYGIntegration extends ModIntegration { @Override public void register() { TagHelper.addTags(Integrations.BYG.getBlock("ivis_phylium"), EndTags.END_GROUND, EndTags.GEN_TERRAIN); + BYGBlocks.register(); BYGFeatures.register(); BYGBiomes.register(); } diff --git a/src/main/java/ru/betterend/integration/byg/OldBulbisGardens.java b/src/main/java/ru/betterend/integration/byg/OldBulbisGardens.java index cfcfeebf..6754c4a3 100644 --- a/src/main/java/ru/betterend/integration/byg/OldBulbisGardens.java +++ b/src/main/java/ru/betterend/integration/byg/OldBulbisGardens.java @@ -2,6 +2,7 @@ package ru.betterend.integration.byg; import net.minecraft.particle.ParticleTypes; import ru.betterend.integration.Integrations; +import ru.betterend.registry.EndFeatures; import ru.betterend.world.biome.BiomeDefinition; import ru.betterend.world.biome.EndBiome; @@ -14,6 +15,10 @@ public class OldBulbisGardens extends EndBiome { .setParticles(ParticleTypes.REVERSE_PORTAL, 0.002F) .setSurface(Integrations.BYG.getBlock("ivis_phylium")) .addFeature(BYGFeatures.OLD_BULBIS_TREE) + .addFeature(EndFeatures.PURPLE_POLYPORE) + .addFeature(BYGFeatures.IVIS_MOSS_WOOD) + .addFeature(BYGFeatures.IVIS_MOSS) + .addFeature(BYGFeatures.IVIS_VINE) .addFeature(BYGFeatures.IVIS_SPROUT)); } } diff --git a/src/main/resources/assets/betterend/blockstates/ivis_moss.json b/src/main/resources/assets/betterend/blockstates/ivis_moss.json new file mode 100644 index 00000000..a086b53f --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/ivis_moss.json @@ -0,0 +1,24 @@ +{ + "variants": { + "facing=north": [ + { "model": "betterend:block/ivis_moss_01", "y": 180 }, + { "model": "betterend:block/ivis_moss_02", "y": 180 }, + { "model": "betterend:block/ivis_moss_03", "y": 180 } + ], + "facing=south": [ + { "model": "betterend:block/ivis_moss_01" }, + { "model": "betterend:block/ivis_moss_02" }, + { "model": "betterend:block/ivis_moss_03" } + ], + "facing=east": [ + { "model": "betterend:block/ivis_moss_01", "y": 270 }, + { "model": "betterend:block/ivis_moss_02", "y": 270 }, + { "model": "betterend:block/ivis_moss_03", "y": 270 } + ], + "facing=west": [ + { "model": "betterend:block/ivis_moss_01", "y": 90 }, + { "model": "betterend:block/ivis_moss_02", "y": 90 }, + { "model": "betterend:block/ivis_moss_03", "y": 90 } + ] + } +} diff --git a/src/main/resources/assets/betterend/blockstates/ivis_vine.json b/src/main/resources/assets/betterend/blockstates/ivis_vine.json new file mode 100644 index 00000000..6036404b --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/ivis_vine.json @@ -0,0 +1,13 @@ +{ + "variants": { + "shape=top": { "model": "betterend:block/ivis_vine_top" }, + "shape=middle": [ + { "model": "betterend:block/ivis_vine_middle_1" }, + { "model": "betterend:block/ivis_vine_middle_2" } + ], + "shape=bottom": [ + { "model": "betterend:block/ivis_vine_bottom_1" }, + { "model": "betterend:block/ivis_vine_bottom_2" } + ] + } +} diff --git a/src/main/resources/assets/betterend/models/block/ivis_moss_01.json b/src/main/resources/assets/betterend/models/block/ivis_moss_01.json new file mode 100644 index 00000000..97db048f --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_moss_01.json @@ -0,0 +1,97 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "texture": "betterend:block/ivis_moss", + "particle": "#texture" + }, + "elements": [ + { + "__comment": "PlaneY1", + "from": [ 3, 15, 0 ], + "to": [ 19, 15.001, 16 ], + "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 1, 11, 0 ], + "to": [ 17, 11.001, 16 ], + "rotation": { "origin": [ 1, 11, 0 ], "axis": "x", "angle": 45 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 1, -10, 0 ], + "to": [ 17, 6, 0.001 ], + "rotation": { "origin": [ 1, 6, 0 ], "axis": "x", "angle": -45 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ -3, 13.5, 0 ], + "to": [ 13, 13.501, 16 ], + "rotation": { "origin": [ -3, 13.5, 0 ], "axis": "x", "angle": 45 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 1, 1, 0 ], + "to": [ 17, 1.001, 16 ], + "rotation": { "origin": [ 1, 1, 0 ], "axis": "x", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ -1, -9, 0 ], + "to": [ 15, 7, 0.001 ], + "rotation": { "origin": [ -1, 7, 0 ], "axis": "x", "angle": -45 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ -1.5, 16, 0 ], + "to": [ 14.5, 16.001, 16 ], + "rotation": { "origin": [ -1.5, 16, 0 ], "axis": "x", "angle": 45 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ -2, 0.5, 0 ], + "to": [ 14, 0.501, 16 ], + "rotation": { "origin": [ -2, 0.5, 0 ], "axis": "x", "angle": 22.5 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/ivis_moss_02.json b/src/main/resources/assets/betterend/models/block/ivis_moss_02.json new file mode 100644 index 00000000..3d199615 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_moss_02.json @@ -0,0 +1,64 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "texture": "betterend:block/ivis_moss", + "particle": "#texture" + }, + "elements": [ + { + "__comment": "PlaneY1", + "from": [ 3, 15, 0 ], + "to": [ 19, 15.001, 16 ], + "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 }, + "shade": false, + "faces": { + "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }, + "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 0, -15, 0 ], + "to": [ 16, 1, 0.001 ], + "rotation": { "origin": [ 0, 1, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ -2, -12, 0 ], + "to": [ 14, 4, 0.001 ], + "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -45 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 0, -9, 0 ], + "to": [ 16, 7, 0.001 ], + "rotation": { "origin": [ 0, 7, 0 ], "axis": "x", "angle": -45 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 0, -3, 0 ], + "to": [ 16, 13, 0.001 ], + "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/ivis_moss_03.json b/src/main/resources/assets/betterend/models/block/ivis_moss_03.json new file mode 100644 index 00000000..ec01cab2 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_moss_03.json @@ -0,0 +1,64 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "texture": "betterend:block/ivis_moss", + "particle": "#texture" + }, + "elements": [ + { + "__comment": "PlaneY1", + "from": [ -1, 0, 0 ], + "to": [ 15, 16, 0.001 ], + "rotation": { "origin": [ -1, 16, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 2, -3, 0 ], + "to": [ 18, 13, 0.001 ], + "rotation": { "origin": [ 2, 13, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 0, -8, 0 ], + "to": [ 16, 8, 0.001 ], + "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ -3, -12, 0 ], + "to": [ 13, 4, 0.001 ], + "rotation": { "origin": [ -3, 4, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + }, + { + "__comment": "PlaneY1", + "from": [ 3, -15, 0 ], + "to": [ 19, 1, 0.001 ], + "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }, + "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/ivis_vine_bottom_1.json b/src/main/resources/assets/betterend/models/block/ivis_vine_bottom_1.json new file mode 100644 index 00000000..6dd857f5 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_vine_bottom_1.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion", + "textures": { + "texture": "betterend:block/ivis_vine_bottom" + } +} diff --git a/src/main/resources/assets/betterend/models/block/ivis_vine_bottom_2.json b/src/main/resources/assets/betterend/models/block/ivis_vine_bottom_2.json new file mode 100644 index 00000000..b6eaaef3 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_vine_bottom_2.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion_inverted", + "textures": { + "texture": "betterend:block/ivis_vine_bottom" + } +} diff --git a/src/main/resources/assets/betterend/models/block/ivis_vine_middle_1.json b/src/main/resources/assets/betterend/models/block/ivis_vine_middle_1.json new file mode 100644 index 00000000..a45192bd --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_vine_middle_1.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion", + "textures": { + "texture": "betterend:block/ivis_vine" + } +} diff --git a/src/main/resources/assets/betterend/models/block/ivis_vine_middle_2.json b/src/main/resources/assets/betterend/models/block/ivis_vine_middle_2.json new file mode 100644 index 00000000..1376266e --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_vine_middle_2.json @@ -0,0 +1,6 @@ +{ + "parent": "betterend:block/cross_no_distortion_inverted", + "textures": { + "texture": "betterend:block/ivis_vine" + } +} diff --git a/src/main/resources/assets/betterend/models/block/ivis_vine_top.json b/src/main/resources/assets/betterend/models/block/ivis_vine_top.json new file mode 100644 index 00000000..57f5b385 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/ivis_vine_top.json @@ -0,0 +1,76 @@ +{ + "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio", + "textures": { + "particle": "betterend:block/ivis_vine", + "texture": "betterend:block/ivis_vine", + "roots": "betterend:block/ivis_vine_roots" + }, + "elements": [ + { + "__comment": "PlaneX1", + "from": [ 2.375, 0, 2.25 ], + "to": [ 2.376, 16, 18.25 ], + "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX1", + "from": [ 13.75, 0, 2.25 ], + "to": [ 13.751, 16, 18.25 ], + "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }, + "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" } + } + }, + { + "__comment": "PlaneX4", + "from": [ 5, 0, 0.5 ], + "to": [ 5.001, 16, 16.5 ], + "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + }, + { + "__comment": "PlaneZ5", + "from": [ 0.5, 0, 11 ], + "to": [ 16.5, 16, 11.001 ], + "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + }, + { + "__comment": "PlaneX4", + "from": [ 11, 0, 0.5 ], + "to": [ 11.001, 16, 16.5 ], + "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + }, + { + "__comment": "PlaneZ5", + "from": [ 0.5, 0, 5 ], + "to": [ 16.5, 16, 5.001 ], + "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 }, + "shade": false, + "faces": { + "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }, + "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/item/ivis_moss.json b/src/main/resources/assets/betterend/models/item/ivis_moss.json new file mode 100644 index 00000000..1bd26a10 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/ivis_moss.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/ivis_moss" + } +} diff --git a/src/main/resources/assets/betterend/models/item/ivis_vine.json b/src/main/resources/assets/betterend/models/item/ivis_vine.json new file mode 100644 index 00000000..ed62f5e1 --- /dev/null +++ b/src/main/resources/assets/betterend/models/item/ivis_vine.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/ivis_vine_bottom" + } +} diff --git a/src/main/resources/assets/betterend/textures/block/ivis_moss.png b/src/main/resources/assets/betterend/textures/block/ivis_moss.png new file mode 100644 index 00000000..6c243bd1 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/ivis_moss.png differ diff --git a/src/main/resources/assets/betterend/textures/block/ivis_vine.png b/src/main/resources/assets/betterend/textures/block/ivis_vine.png new file mode 100644 index 00000000..08aae3d9 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/ivis_vine.png differ diff --git a/src/main/resources/assets/betterend/textures/block/ivis_vine_bottom.png b/src/main/resources/assets/betterend/textures/block/ivis_vine_bottom.png new file mode 100644 index 00000000..3592a306 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/ivis_vine_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/ivis_vine_roots.png b/src/main/resources/assets/betterend/textures/block/ivis_vine_roots.png new file mode 100644 index 00000000..0859bb4f Binary files /dev/null and b/src/main/resources/assets/betterend/textures/block/ivis_vine_roots.png differ