From 3b7e5c0a3e16155b3e67536453d70491a6d9b32f Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 18 May 2023 01:20:12 +0200 Subject: [PATCH] Added a Test Sign --- src/main/java/org/betterx/bclib/BCLib.java | 69 ++++++++++++++++++ .../assets/bclib/blockstates/test_sign.json | 7 ++ .../assets/bclib/models/block/empty_test.json | 5 ++ .../assets/bclib/models/item/test_sign.json | 6 ++ .../bclib/textures/block/test_planks.png | Bin 0 -> 437 bytes .../bclib/textures/entity/signs/test_wood.png | Bin 0 -> 1486 bytes .../assets/bclib/textures/item/test_wood.png | Bin 0 -> 191 bytes 7 files changed, 87 insertions(+) create mode 100644 src/main/resources/assets/bclib/blockstates/test_sign.json create mode 100644 src/main/resources/assets/bclib/models/block/empty_test.json create mode 100644 src/main/resources/assets/bclib/models/item/test_sign.json create mode 100644 src/main/resources/assets/bclib/textures/block/test_planks.png create mode 100644 src/main/resources/assets/bclib/textures/entity/signs/test_wood.png create mode 100644 src/main/resources/assets/bclib/textures/item/test_wood.png diff --git a/src/main/java/org/betterx/bclib/BCLib.java b/src/main/java/org/betterx/bclib/BCLib.java index 2ab66163..e87fdb52 100644 --- a/src/main/java/org/betterx/bclib/BCLib.java +++ b/src/main/java/org/betterx/bclib/BCLib.java @@ -13,24 +13,38 @@ import org.betterx.bclib.api.v2.poi.PoiManager; import org.betterx.bclib.api.v3.levelgen.features.blockpredicates.BlockPredicates; import org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers; import org.betterx.bclib.api.v3.tag.BCLBlockTags; +import org.betterx.bclib.blocks.BaseSignBlock; import org.betterx.bclib.commands.CommandRegistry; +import org.betterx.bclib.complexmaterials.BCLWoodTypeWrapper; import org.betterx.bclib.config.Configs; +import org.betterx.bclib.config.PathConfig; import org.betterx.bclib.networking.VersionChecker; import org.betterx.bclib.recipes.AlloyingRecipe; import org.betterx.bclib.recipes.AnvilRecipe; import org.betterx.bclib.recipes.CraftingRecipes; import org.betterx.bclib.registry.BaseBlockEntities; import org.betterx.bclib.registry.BaseRegistry; +import org.betterx.bclib.registry.BlockRegistry; import org.betterx.bclib.registry.PresetsRegistry; import org.betterx.datagen.bclib.tests.TestStructure; import org.betterx.worlds.together.WorldsTogether; import org.betterx.worlds.together.util.Logger; import org.betterx.worlds.together.world.WorldConfig; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.material.MapColor; import net.fabricmc.api.EnvType; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; import net.fabricmc.loader.api.FabricLoader; import java.util.List; @@ -74,6 +88,10 @@ public class BCLib implements ModInitializer { TestStructure.registerBase(); } + if (ADD_TEST_DATA) { + testObjects(); + } + DataExchangeAPI.registerDescriptors(List.of( HelloClient.DESCRIPTOR, HelloServer.DESCRIPTOR, @@ -111,4 +129,55 @@ public class BCLib implements ModInitializer { public static ResourceLocation makeID(String path) { return new ResourceLocation(MOD_ID, path); } + + public final static BCLWoodTypeWrapper TEST_WOOD; + public static BaseSignBlock TEST_SIGN = null; + + private static void testObjects() { + var bockReg = new BlockRegistry(new PathConfig(MOD_ID, "test")); + bockReg.register( + makeID("test_sign"), + TEST_SIGN + ); + bockReg.registerBlockOnly( + makeID("test_wall_sign"), + TEST_SIGN.wallSign + ); + + } + + static { + if (ADD_TEST_DATA) { + TEST_WOOD = BCLWoodTypeWrapper.create(makeID("test_wood")).setColor(MapColor.COLOR_MAGENTA).build(); + TEST_SIGN = new BaseSignBlock(TEST_WOOD); + + + final ResourceKey TAB_TEST_KEY = ResourceKey.create( + Registries.CREATIVE_MODE_TAB, + makeID("test_tab") + ); + + CreativeModeTab.Builder builder = FabricItemGroup + .builder(); + builder.title(Component.translatable("itemGroup.bclib.test")); + builder.icon(() -> new ItemStack(Items.BARRIER)); + builder.displayItems((itemDisplayParameters, output) -> { + + var list = List.of(TEST_SIGN.asItem()) + .stream().map(b -> new ItemStack(b, 1)).toList(); + + output.acceptAll(list); + }); + final CreativeModeTab TAB_TEST = builder.build(); + ; + + Registry.register( + BuiltInRegistries.CREATIVE_MODE_TAB, + TAB_TEST_KEY, + TAB_TEST + ); + + + } + } } diff --git a/src/main/resources/assets/bclib/blockstates/test_sign.json b/src/main/resources/assets/bclib/blockstates/test_sign.json new file mode 100644 index 00000000..0a4d46e3 --- /dev/null +++ b/src/main/resources/assets/bclib/blockstates/test_sign.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "bclib:block/empty_test" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bclib/models/block/empty_test.json b/src/main/resources/assets/bclib/models/block/empty_test.json new file mode 100644 index 00000000..d7f6983a --- /dev/null +++ b/src/main/resources/assets/bclib/models/block/empty_test.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "bclib:block/test_planks" + } +} diff --git a/src/main/resources/assets/bclib/models/item/test_sign.json b/src/main/resources/assets/bclib/models/item/test_sign.json new file mode 100644 index 00000000..05cdf7f2 --- /dev/null +++ b/src/main/resources/assets/bclib/models/item/test_sign.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "bclib:item/test_wood" + } +} diff --git a/src/main/resources/assets/bclib/textures/block/test_planks.png b/src/main/resources/assets/bclib/textures/block/test_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..74eb6c9e5286223aa05413b781fff59f273a82d9 GIT binary patch literal 437 zcmV;m0ZRUfP)RNX9)>v003$V z3T*@gZUh5z3JP=u19TA*b^-!+2M2fz40#L+dI$!34Gnt)1bYbyeGLtO3JQP@41o?0 zf({LY4Go154u%X3h7Jyh4i1S84vY^Eju;q^5D=0S6p|GdlNlJ57Z;cq7?>FuoEjRU zARq+* zz0zhoi*_tTkOx)j zI(qM!MQjUz5t~pU)=h{N+=5S^c`fDY?D@$@chKHaC)`dcsVOU{2%8cWW7(fb0Askv fh<9y-h&O=$!dVt5AteBU00000NkvXXu0mjfdw7eS literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bclib/textures/entity/signs/test_wood.png b/src/main/resources/assets/bclib/textures/entity/signs/test_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..3b422fb4d10384b0bb53de3e2fe96fbe4366f0dc GIT binary patch literal 1486 zcmV;<1u^=GP)r+!l7{&t$3AY4M>upBIKcb!K&1tK)TFON(Dg+P^NkX}YYe0lTL9i&6*6P?!KlC5n z{+@Go@t86lPd+L6@XYRc&p!K}efNFd-6ZnK^N%CKZZc)|8XC+`DIZ%W{AXwX=kjIq z;_O+kzrp*RhLrjH(k1gdHuZNx@b!K>l`{M1&zl2m8>xB|#{bW}SNr8Q`2 zs*0PXcjO2C=kY%t;FlbLXXnnD^^iO8K4yR$7dikUu9UC??^^~qe&_&b_ni~x$OYub zNW??hwzBCX7Qq8Bimec@@;=}w{uu9tUfar+tEe#3v?K5}r{IF`t7sYUNC8GY5VN>T3ENW>-~KNiVwVjpKtK< zIqlbAw5G;1S=+augML5g17Csb*u=RGvUaR^j-Ru(tKepUA36Z5$)x$~!UeNlTkB~^ zSVy0Kpsf|0JSQDxlO{J(Nv~c!MmC#ub!M|6X&wdmyYRNC2hO$@m~+Fc9Z8d~NtnHp zC(TxUy~kf;>?_qFJNAkEGyh9$^8f3ZkKXb>m57_Cr%oO6JV{U#?Rk0mk^N(wes+iYz{%7Hh$9&s7wnqeD*%rQ6>~xSX|HDP!Us4UYiiYl5 z9S_BPO}iQ}Xl?3e`Iug-?IGI^;5W~kjvv;5!}@~0AKSj>*l%n+(*HKl{JTYbjdS;aU%=B7C*ILT|q))0lvmg*&}cvz+bU7D0Bc6ITa;$kw{xz3p$dX5n*=;5guUMW9MYk zk(X0p!ZwL^7cGC7g=a}io%uUd>xlqgAHGIVrY%1kjhS)AO8d_L7>k->@p){k3P$t| zU%}KpVm9XAMHXx8yzkd$%tuQof}ciwjX6y_y-T|Tfpg#42ko=;ok731?YIG}dyTt8 zd(Xo0rERBEY4!^30E_$5YWbG^4vo7~WNX9L8sMvDeW5^CC(LJdOiRS)g${u0wDU0? zENBocfUpyNs5tDT(ONU4Z=)4}rc8%v_9{}xkfyH)FMce6j5P%`tJlW7v4gnZp@sliG8K7+F)H#f8 zj($rC=jsO+fE{jA83Ldy0eM6zF#- z{cUC(`vB-ZuX}x$y#T$W2IwTX!4cS34n;7dg|hf&+7T{5UI8Q!Du{jMkOA8)x<~)& z&^GHA9DV(n*-Ajt1m^e$fJN`}o4<$MZU(vsJZWq+0|cQgehVl7d0l~Z^`#wV*L4f* oB?CH3_?PvA{W)B&DEk2X3w?>`$%_#}`Tzg`07*qoM6N<$f`AFd(%Bd39rjy~z+rS)t=1Oha z&qv;B-x(&f@3TAL|7f?Kyw(y{*W_bd7K@rWtNs_V%1Hms*ZSbGI*Z{_r7Lej8Pl7@ pY4@2@Zbvi3U8`?k;NHzN=X%eKyH(jq>wqp|@O1TaS?83{1OT#GNACat literal 0 HcmV?d00001