From 406cc8f9008b1187699632ede2f707b33a7ab520 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 17 Mar 2021 16:16:45 +0300 Subject: [PATCH] Lantern woods structures, block translations & fixes --- .../java/ru/betterend/registry/EndBlocks.java | 2 +- .../ru/betterend/registry/EndFeatures.java | 2 + .../betterend/registry/PondAnemoneBlock.java | 61 ++++++++++++++++++ .../world/biome/land/LanternWoodsBiome.java | 2 + .../assets/betterend/lang/en_us.json | 9 ++- .../assets/betterend/lang/ru_ru.json | 9 ++- .../structures/biome/lantern_woods/cabin.nbt | Bin 0 -> 1579 bytes .../biome/lantern_woods/light_1.nbt | Bin 0 -> 406 bytes .../structures/biome/lantern_woods/log_1.nbt | Bin 0 -> 477 bytes .../structures/biome/lantern_woods/log_2.nbt | Bin 0 -> 812 bytes .../biome/lantern_woods/ruins_1.nbt | Bin 0 -> 585 bytes .../biome/lantern_woods/ruins_2.nbt | Bin 0 -> 542 bytes .../biome/lantern_woods/structures.json | 13 ++++ .../biome/lantern_woods/stump_1.nbt | Bin 0 -> 234 bytes .../biome/lantern_woods/stump_2.nbt | Bin 0 -> 318 bytes .../biome/lantern_woods/stump_3.nbt | Bin 0 -> 379 bytes 16 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 src/main/java/ru/betterend/registry/PondAnemoneBlock.java create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/cabin.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/light_1.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/log_1.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/log_2.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/ruins_1.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/ruins_2.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/structures.json create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/stump_1.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/stump_2.nbt create mode 100644 src/main/resources/data/betterend/structures/biome/lantern_woods/stump_3.nbt diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 33dc7e76..28fb95fa 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -321,7 +321,7 @@ public class EndBlocks { public static final Block HYDRALUX_PETAL_BLOCK = registerBlock("hydralux_petal_block", new HydraluxPetalBlock()); public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial(HydraluxPetalColoredBlock::new, HYDRALUX_PETAL_BLOCK, true); - public static final Block POND_ANEMONE = registerBlock("pond_anemone", new BubbleCoralBlock()); + public static final Block POND_ANEMONE = registerBlock("pond_anemone", new PondAnemoneBlock()); public static final Block FLAMAEA = registerBlock("flamaea", new FlamaeaBlock()); diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index 8646a7fb..f02e0fb6 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -148,6 +148,8 @@ public class EndFeatures { public static final EndFeature SMALL_JELLYSHROOM_WALL = new EndFeature("small_jellyshroom_wall", new WallPlantFeature(EndBlocks.SMALL_JELLYSHROOM, 4), 4); public static final EndFeature SMALL_JELLYSHROOM_WOOD = new EndFeature("small_jellyshroom_wood", new WallPlantOnLogFeature(EndBlocks.SMALL_JELLYSHROOM, 4), 8); public static final EndFeature JUNGLE_FERN_WOOD = new EndFeature("jungle_fern_wood", new WallPlantOnLogFeature(EndBlocks.JUNGLE_FERN, 3), 12); + public static final EndFeature RUSCUS = new EndFeature("ruscus", new WallPlantFeature(EndBlocks.RUSCUS, 6), 10); + public static final EndFeature RUSCUS_WOOD = new EndFeature("ruscus_wood", new WallPlantOnLogFeature(EndBlocks.RUSCUS, 6), 10); // Sky plants public static final EndFeature FILALUX = new EndFeature("filalux", new FilaluxFeature(), 1); diff --git a/src/main/java/ru/betterend/registry/PondAnemoneBlock.java b/src/main/java/ru/betterend/registry/PondAnemoneBlock.java new file mode 100644 index 00000000..62d2ef2f --- /dev/null +++ b/src/main/java/ru/betterend/registry/PondAnemoneBlock.java @@ -0,0 +1,61 @@ +package ru.betterend.registry; + +import java.util.Random; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.Material; +import net.minecraft.block.ShapeContext; +import net.minecraft.particle.ParticleTypes; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockView; +import net.minecraft.world.World; +import ru.betterend.blocks.basis.UnderwaterPlantBlock; + +public class PondAnemoneBlock extends UnderwaterPlantBlock { + private static final VoxelShape SHAPE = Block.createCuboidShape(2, 0, 2, 14, 14, 14); + + public PondAnemoneBlock() { + super(FabricBlockSettings.of(Material.UNDERWATER_PLANT) + .breakByTool(FabricToolTags.SHEARS) + .sounds(BlockSoundGroup.CORAL) + .breakByHand(true) + .luminance(13) + .noCollision()); + } + + @Override + public AbstractBlock.OffsetType getOffsetType() { + return AbstractBlock.OffsetType.NONE; + } + + @Environment(EnvType.CLIENT) + public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { + double x = pos.getX() + random.nextDouble(); + double y = pos.getY() + random.nextDouble() * 0.5F + 0.5F; + double z = pos.getZ() + random.nextDouble(); + world.addParticle(ParticleTypes.BUBBLE, x, y, z, 0.0D, 0.0D, 0.0D); + } + + @Override + public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ePos) { + return SHAPE; + } + + @Override + public boolean isFertilizable(BlockView world, BlockPos pos, BlockState state, boolean isClient) { + return false; + } + + @Override + public boolean canGrow(World world, Random random, BlockPos pos, BlockState state) { + return false; + } +} diff --git a/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java b/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java index 1ed6436b..d87c7adf 100644 --- a/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java +++ b/src/main/java/ru/betterend/world/biome/land/LanternWoodsBiome.java @@ -29,6 +29,8 @@ public class LanternWoodsBiome extends EndBiome { .addFeature(EndFeatures.POND_ANEMONE) .addFeature(EndFeatures.CHARNIA_ORANGE) .addFeature(EndFeatures.CHARNIA_RED) + .addFeature(EndFeatures.RUSCUS) + .addFeature(EndFeatures.RUSCUS_WOOD) .addStructureFeature(ConfiguredStructureFeatures.END_CITY) .addMobSpawn(EntityType.ENDERMAN, 50, 1, 2)); } diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index bd178a0d..47618bf5 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -798,5 +798,12 @@ "block.betterend.lucernia_stairs": "Lucernia Stairs", "block.betterend.lucernia_stripped_bark": "Stripped Lucernia Bark", "block.betterend.lucernia_stripped_log": "Stripped Lucernia Log", - "block.betterend.lucernia_trapdoor": "Lucernia Trapdoor" + "block.betterend.lucernia_trapdoor": "Lucernia Trapdoor", + + "block.betterend.aurant_polypore": "Aurant Polypore", + "block.betterend.bolux_mushroom": "Bolux Mushroom", + "block.betterend.flamaea": "Flamaea", + "block.betterend.pond_anemone": "Pond Anemone", + "block.betterend.ruscus": "Ruscus", + "item.betterend.bolux_mushroom_cooked": "Cooked Bolux Mushroom" } diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index 6b7d44db..cf6847a2 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -818,5 +818,12 @@ "block.betterend.lucernia_stairs": "Ступени из люцернии", "block.betterend.lucernia_stripped_bark": "Обтёсанная кора люцернии", "block.betterend.lucernia_stripped_log": "Обтёсанное бревно люцернии", - "block.betterend.lucernia_trapdoor": "Люцерниевый люк" + "block.betterend.lucernia_trapdoor": "Люцерниевый люк", + + "block.betterend.aurant_polypore": "Аурантовый трутовик", + "block.betterend.bolux_mushroom": "Болюкс", + "block.betterend.flamaea": "Фламея", + "block.betterend.pond_anemone": "Озёрный анемон", + "block.betterend.ruscus": "Рускус", + "item.betterend.bolux_mushroom_cooked": "Приготовленный болюкс" } \ No newline at end of file diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/cabin.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/cabin.nbt new file mode 100644 index 0000000000000000000000000000000000000000..a2e1da2b3eab4f37c10c1dd49489849de5ce8702 GIT binary patch literal 1579 zcmV+`2GscG8Y+WrcR84^s^GnvN>B8+4(ios|G zLur-_&A?EafuS@5Lum$v(ySPofuS@5Lum$v(hLlxS@#Sz#xx_&03IHbMHs3+z)-$` z84|fNL=QF&!(0-nVJePhcn5~^t`R*khVniDZww~Yi;U5WjM0lw4>nd)jAr=K3}2ez zOEY{8;F-as>MR*`mW(=wdayAc#=+LQ6r&iq6eEsi)DW0dPg6D2h#st8D$t`MOvYd& zgHa4dGngU4WQZ>vVTJ@F8F3^dj$*`7j5wOnFJP#C0Ymi*7^+{uQ2o+~FRWiW;R_hb z7ci7BU?^X}P`-end`X5c$?zo^z9hq!WcZQ{Uy9*NF?=b8FU9bs7`_z47o0DA&BF*I z8H{2unqc7U;MaK+VMZP^j_l{DI1-67iR`hdI0}g~jqI`gI-f)s$zT+N(F6l~Y(LjG z5k?UV?6G}c4)<4_}du(2wGI8P&tA{aP-rN(oZE5@Y8vt;yL24nSE zgh`FnQ1kN$lNzfj&5EH%A$np=Y8r~vios|G zGh{F$!aJOE{rX`0mM~7pz&SS~dI3yo4unA98$HNT87sW}*Gjxi%b zvqCh7>!Ct4V{}GPl2K4DKOML1%{fZz)kq}K==WAD< zU9ObITL)N~Vku->t;gcz%GI}a(78PmdTENrj$PGPW^KjT1u^;gsvV2r(kz@Kp{#Ku z4-&tL*53VZ^7`}g-aWH!s!hB4($vFw)wb0Ioqg&u*?Lyk<*}W!(qrb!s=g=lC!P5^ z==+uZkNSR;%y+H(&8B0^NS_su2M2xb{jWL*2sOt|dvoIP)9RJG+zQprqfUe_sw-QM z-BP}N_VVA%=5QCM>_6S-eum^etEwZ{`R0hbMVWVl1>#4N?rN#pdb54iHMD=#r41Z= z*;{9-FipO>n7KRlQJ2;`53HTzUO#1c|FX*jFFVV->+j$g9bX%F)4Qkfb%Yz}ZRhYY z?wq%nz+K3G9_<4>J_K0ig()^4zS?rn*NUc5?KPtR6>$$K%={LSw+@dRHr(2sqO)PK zGI<#WgbHSxHMui{&5gOVU-fQzubadB+aLYkwkTh^FGkaSwpw-*sd4WWhvo7)cJ|pF zO(R2-Tzs*)-XBeaaO0I}c1KUR^-Q*J6x+J&Z>`XxR^U_4(l000$>2U-9C literal 0 HcmV?d00001 diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/light_1.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/light_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..7b69a0d7bce4db6f62e3b6c119b546c804edda1d GIT binary patch literal 406 zcmV;H0crjpiwFP!000000IgG7Z<{a_{s5B#(H^#^De5ojYx`X7sjtxqISJN`jqF3y z_1DkjLLx+`sT-0dj{V(yY*#=D74$o20EUsokq`eR3bvv}bHMPGSZs`|e}*a+MTx9) z;X=Zhm}JOo>@Re(iB2|yQ4<~Y0p?aGM}^F8q{5PF(XYJL z!fk<6Z}FwomTONtc_8f*?-f|Q)Gk%z4T13oUM`qv-t-q^K z{qU}1KO9W~#S{d}I?Dx?he-0q?f1Mzz9SRjWFA~E%>|NM=dYDI@RgnR9hCT$2 ARsaA1 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/log_1.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/log_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..92de71c02f3bdc22d9424934702c8eb3a22f2e8b GIT binary patch literal 477 zcmV<30V4h%iwFP!000000Hu{rPs1P>#@_<%+V0}XL@#~@6HlH!8&6&r*5Pcd&;a$% zKD|`O>g z+zVxk5d3`^hFoc?*}lTZpacddFeHJ=BTQyj0u%FWnV4tG#5`Lj#d9&!d-faRJTrG+ zbG=(;?!M-Fw@j>e%cS(ah%h$Cm}kqxJX>b&zL4WN^LR!HIirM}Q9{lrA!paKkHL

p#Adhf(xi09rz3`t<7esYgzH^U+@8#vOJWk>=u^|J^t(|k%# zhVC4?y=*t;9I(1;4NhCw$(eY*I`f>Y0`x(j|KZ~Ar zOlvkiuge2NH-5QlfeHWs`Ty)O literal 0 HcmV?d00001 diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/log_2.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/log_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..1e8e933982aa283ce32de0b765b6eb323a082301 GIT binary patch literal 812 zcmV+{1JnE;iwFP!000000Iir!Z`3dlh9`;bd=wB|kl?~^fFozlh!fY!yX&?QX%Zz4 zE&T)hZ4#78Q`erc+OA}+HhMhs=AH3}wgM zG~MynSj|8FmXP(`h?6o{KN-l;YHQXRJ|>A^(g-GtU_=BXBN!FIxyLu4oqk)b?9hVl>@%0px*57WgP#vf!Te~_X4L5A`N8Ok4ID1VTl{6U86F;`FG z@!9pqW#r0G>m3=Y7SfX|#89$Z$QMGCm{2 z^?b_sj11TFDdRITT+gSB&&W_d%LosV;d+(x5E-slIS-NHdX@7K8OlTD(c|t3%A?0+ zwsVfzqcWxzTWup4?w*h_wb*=$V7Pli#?%4_RSOZ}4>H^xfb$0#?he5DgA8{E;QT=* z#vg9IyPADxoU7T_^KP8fVG?+J#$^F!A4de3y&f50a)QY`dP2;;H&lSx_eLII_L_?T zlM}h{P6C97$Rvaw;dw7t4>B?$S57d>quG5gWcIZv1I%7e6<|~Zv)6nUUf4$Co z`FhnoPklY_o|Pd+L@?aCaL>3)c%7^PONw3(d_!1d*0pEgN!1W6u*hJgABF*AX5-=q$iiV z-jSj9d1NS`k>Pyi;vl1lUd=uJxIT+@Q0q&s43$d-;^e(@b-v+y`Gcqko%`i1_7YBB~30tlLWvH)gck{I~b>hiN=ck<)f*^)%?#p7&kzr|$+6 zH~*7Ib~nvWIPpe5MZ9dg!CpN(yBufg`C%Tu#FL|(x|{ZewZxZIj#s)jpbnk2-SrmW q-F<+Iy3x&a8%mr`eZ2S#&c11@e=e(_Yv=pXNB9RN30Fk^761VD^^mOq literal 0 HcmV?d00001 diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/ruins_1.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/ruins_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..37500bb3a558c2373e28de6d7ad2dccd88f368b8 GIT binary patch literal 585 zcmV-P0=E4hiwFP!000000IiivkJB&^$0yGwDUanLBpwnUfD>@z%!Lcu6W7X3Cta&v zJF=Z!mQRnPHm%9psaqPUs*?QXKjWFd;|idJRM9_}06_mMcK@>y3gntwXS1K9$0gHgvkS#!H4#|a*sD`KhHc& zZZU<&8+H#%k2lf@W|(_CQ8PGtSa}#*XYOIL37x?kc7L9DykW2FsfWoXn0-ErdFElJ zat$7fCu*JrJqXa8gI8B`2u3Pf~zHJjS~6l z+mc9$%wtEpte5A@4b!vbUKwWA64pod2hQsXs%t4)l>LEJKuUg71<`{^k^UsN2yYHa zSXZOulq{H7@87?5yl)xd8?{G1IFO|f8+C)Mfl&d)ikez^jSzh)pfb;ud0t?7p-6qt&kWNAKuD;dvJQ*xN9%m!E?<$EKnjmc@HW~qfVPbZ6c4xVE15g9A;tv)8FuoV0@k|g2^WEWD|Ju378_l;_?QCX z{qZ%k1g7vXWuiZ@hbNEl%mU0-x36cO!1#4l5zV0&vD!l~>V#j1>dJz;nuz95Ppqy` z&my8ZoQ-FR`SEi-Phfn_FCu!vTrVSf!Z|!k%&M>FRRZJdc^%Oc=6XYzx#m4OhvW5s z+dy+}ltweIhYG4r5LC7Z*_R3$I=6H{>jRiG1Jc~E@B9kk{pHADPFiK!EDJ}Ay>dQXx&~GHPA^y{+6Yb%DDCM zG?q}0r(tW}FKK-%=hRgNiw(JIsP+|hP%e3Iv7!`fuE{Ct4Hv7mOV$wckjxh*sh%M} zK`VDz&hA;vVA~-XmJj;W?Vp@`SF+bQJ{T_Dg;xEwRtDpK6;A1dS#zy6#B_hKGqprO zTr#+OA0x$+*Sb^6oKC>)uso@P8?&BL!Hw^_GUx}=zK06Bl0D=+<1^@s6 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/structures.json b/src/main/resources/data/betterend/structures/biome/lantern_woods/structures.json new file mode 100644 index 00000000..d33c7b73 --- /dev/null +++ b/src/main/resources/data/betterend/structures/biome/lantern_woods/structures.json @@ -0,0 +1,13 @@ +{ + "structures": [ + { "nbt": "cabin", "offsetY": 0, "terrainMerge": "surface" }, + { "nbt": "light_1", "offsetY": 0, "terrainMerge": "object" }, + { "nbt": "log_1", "offsetY": 0, "terrainMerge": "object" }, + { "nbt": "log_2", "offsetY": 0, "terrainMerge": "object" }, + { "nbt": "ruins_1", "offsetY": 0, "terrainMerge": "surface" }, + { "nbt": "ruins_2", "offsetY": 0, "terrainMerge": "surface" }, + { "nbt": "stump_1", "offsetY": 0, "terrainMerge": "object" }, + { "nbt": "stump_2", "offsetY": 0, "terrainMerge": "surface" }, + { "nbt": "stump_3", "offsetY": 0, "terrainMerge": "surface" } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/stump_1.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/stump_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..655057ab15681fe998e8c216cdc7364a2ec3e17d GIT binary patch literal 234 zcmV&YTe^u9a8JhzLpKB#80! zq`!{FTyJ zrA(RsjX4GrMlCSSglT3Nb@rC7%ta)}IrDEk1M?&yvW)RJXz9x)s6FcSkv9hWl#^nQLdS*#Bc);A^2Ofq<_@) z)7wT_2`MhgHfey#d%rgmrU7c?R(=r&5N|#_YgDA1bdoIMsZnk^-M-o;e4N+dy|#lX z!_Ub$3hRWUUq?#A{?V`n9JYXy4R?WN%*hg2$2cs(Nom*-4iX$T(=#7w_)I?-Y4VAN zC$fq}7Mp0w1ZO%|{ zloabu?=bOITNxr$OUQ03G@))oA*?8JXFMHnS1BBc_prtjV)-musdmUe$hw37CgImU zRE|&z8&of+W0W={%xD_njZkjg>u%p`L$lM67)^8W=QrNAem0l+etGX4XZOO1r}z)F Q0-9@l1F1DcoJs@$0O;3|?EnA( literal 0 HcmV?d00001 diff --git a/src/main/resources/data/betterend/structures/biome/lantern_woods/stump_3.nbt b/src/main/resources/data/betterend/structures/biome/lantern_woods/stump_3.nbt new file mode 100644 index 0000000000000000000000000000000000000000..38f59eac45a76ee1341017cda0554dc91420a9ed GIT binary patch literal 379 zcmV->0fhb^iwFP!000000Hu`8PJ}QNg>PwL05`5Qy7whqyEd-ePC9rUo57Z}B|1L6 zkW6PfNNLTK5JK{uo^x-1YJduu5kE))V0;Vrt)N6{g%xOE92FFsRy8|Q4?hnT&`udA zawDUV8_O*o6h1=^4DlEeV6p^;CNTLzp3H?#V3smFh9xlh0z(tLXo43@=%Hhldgz#? z9_BNdLriRMkjOlaiR}#%sVkfD3Nf)YC6WHn1TUK4#S&}JBFr)O0s}K%S%C5TOap7- zpDz|*{Mz$C?SAGW!1#Gq0mk<#13e^>%-O_in)!IszW_q zu_ZA6Eew$T5Q;tXPlVgeh-#E?k8R(emV&Q0T<;(zyqOWUYCF{x@4OLm3+xMxJ&LbS zV%?jjH)*oFlZ^M8OS|q=yYH07kUp16+mA~oFsk<^NDq$uvf$^w|DWJIKyvO$!~W_h ZTs?8iUr`&O