From a72c3a427ce8f296ff01cfee491f802791f5024e Mon Sep 17 00:00:00 2001 From: Andrew-71 Date: Tue, 26 Dec 2023 19:34:45 +0300 Subject: [PATCH] Add banner patterns... mostly --- TODO.md | 2 +- .../registration/NSE_BaseRegistration.java | 15 +++++++++++++++ .../a71/new_soviet/registration/NSE_Items.java | 3 +++ .../new_soviet/models/item/sickle_pattern.json | 6 ++++++ .../new_soviet/models/item/star_pattern.json | 6 ++++++ .../textures/entity/banner/grain_pattern.png | Bin 0 -> 421 bytes .../textures/entity/banner/sickle_pattern.png | Bin 0 -> 553 bytes .../textures/entity/banner/star_pattern.png | Bin 0 -> 457 bytes .../new_soviet/textures/item/pattern/grain.png | Bin 0 -> 420 bytes .../new_soviet/textures/item/pattern/sickle.png | Bin 0 -> 422 bytes .../new_soviet/textures/item/pattern/star.png | Bin 0 -> 435 bytes .../tags/banner_pattern/sickle_pattern.json | 5 +++++ .../tags/banner_pattern/star_pattern.json | 5 +++++ 13 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/assets/new_soviet/models/item/sickle_pattern.json create mode 100644 src/main/resources/assets/new_soviet/models/item/star_pattern.json create mode 100644 src/main/resources/assets/new_soviet/textures/entity/banner/grain_pattern.png create mode 100644 src/main/resources/assets/new_soviet/textures/entity/banner/sickle_pattern.png create mode 100644 src/main/resources/assets/new_soviet/textures/entity/banner/star_pattern.png create mode 100644 src/main/resources/assets/new_soviet/textures/item/pattern/grain.png create mode 100644 src/main/resources/assets/new_soviet/textures/item/pattern/sickle.png create mode 100644 src/main/resources/assets/new_soviet/textures/item/pattern/star.png create mode 100644 src/main/resources/data/new_soviet/tags/banner_pattern/sickle_pattern.json create mode 100644 src/main/resources/data/new_soviet/tags/banner_pattern/star_pattern.json diff --git a/TODO.md b/TODO.md index 64effb9..9ca0fd3 100644 --- a/TODO.md +++ b/TODO.md @@ -31,7 +31,7 @@ Goals left - QOL ## 0.4 * Implement antenna everywhere -* Add patterns +* Add crafting recipes for banner patterns; change item textures; remake grain * Implement new concrete * TV rework #3 (new colours, second static, ...?) * More landmines, land mine base item, create integration for it diff --git a/src/main/java/su/a71/new_soviet/registration/NSE_BaseRegistration.java b/src/main/java/su/a71/new_soviet/registration/NSE_BaseRegistration.java index 20031b7..dd74146 100644 --- a/src/main/java/su/a71/new_soviet/registration/NSE_BaseRegistration.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_BaseRegistration.java @@ -4,8 +4,10 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; import net.minecraft.block.Block; +import net.minecraft.block.entity.BannerPattern; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.item.BannerPatternItem; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; @@ -20,6 +22,7 @@ import net.minecraft.util.Identifier; import java.util.Optional; import java.util.function.Supplier; +import net.minecraft.util.Rarity; import su.a71.new_soviet.NewSoviet; public class NSE_BaseRegistration { @@ -60,5 +63,17 @@ public class NSE_BaseRegistration { return TagKey.of(RegistryKeys.ITEM, new Identifier(NewSoviet.MOD_ID, name)); } + public static void registerPattern(String name, Rarity rarity, ItemGroup tab) { + BannerPattern patternThing = new BannerPattern(name); + final TagKey bannerTag = TagKey.of(RegistryKeys.BANNER_PATTERN, new Identifier(NewSoviet.MOD_ID, name)); + BannerPatternItem patternItem = new BannerPatternItem(bannerTag, new Item.Settings().rarity(rarity)); + Registry.register(Registries.ITEM, new Identifier(NewSoviet.MOD_ID, name), patternItem); + Registry.register(Registries.BANNER_PATTERN, new Identifier(NewSoviet.MOD_ID, name), patternThing); + + if (tab == null) return; // Sanity check for hidden items + Optional> key = Registries.ITEM_GROUP.getKey(tab); + key.ifPresent(itemGroupRegistryKey -> ItemGroupEvents.modifyEntriesEvent(itemGroupRegistryKey).register(content -> content.add(patternItem))); + } + public static void init() {} } diff --git a/src/main/java/su/a71/new_soviet/registration/NSE_Items.java b/src/main/java/su/a71/new_soviet/registration/NSE_Items.java index 0569383..68d4dbc 100644 --- a/src/main/java/su/a71/new_soviet/registration/NSE_Items.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_Items.java @@ -54,5 +54,8 @@ public class NSE_Items extends NSE_BaseRegistration { registerItem("antenna", () -> ANTENNA, NSE_ITEMS_TAB); registerItem("cigarette", ()-> CIGARETTE, NSE_ITEMS_TAB); registerItem("cigarette_butt", ()-> CIGARETTE_BUTT, NSE_ITEMS_TAB); + registerPattern("sickle_pattern", Rarity.UNCOMMON, NSE_ITEMS_TAB); + registerPattern("star_pattern", Rarity.UNCOMMON, NSE_ITEMS_TAB); + registerPattern("grain_pattern", Rarity.UNCOMMON, NSE_ITEMS_TAB); } } diff --git a/src/main/resources/assets/new_soviet/models/item/sickle_pattern.json b/src/main/resources/assets/new_soviet/models/item/sickle_pattern.json new file mode 100644 index 0000000..ac67fda --- /dev/null +++ b/src/main/resources/assets/new_soviet/models/item/sickle_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "new_soviet:item/pattern/sickle" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/item/star_pattern.json b/src/main/resources/assets/new_soviet/models/item/star_pattern.json new file mode 100644 index 0000000..08ae82b --- /dev/null +++ b/src/main/resources/assets/new_soviet/models/item/star_pattern.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "new_soviet:item/pattern/star" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/textures/entity/banner/grain_pattern.png b/src/main/resources/assets/new_soviet/textures/entity/banner/grain_pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..48789bf9a76245c14a883240e4e17165c62de242 GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z<2_v*Ln`LH zy=J?**+7EzfiQb}SM{_rPXGVs3(BZEZ? z8C+cda+lt_z2AyrC#ITl*AQ7#uE}w3|8h@b?&Q)Zk)pxc}XQSMzkx zk_C@H{*Zbuvt&y7*Pw>WFHL0H1tz3QP6<+K^?zKV_wnB1Rjb-(Raa@)JT`Z0 z%kddAXPr&6@{rnSZT3F4wtKUv+JWiQc?2!19vEG&m>rR={M}wZBVLrV!lHb^{|RwM zixycbX6J^8m0Zob?jxnryCZD%(lb7r-|6j7VS0Qn>YZ-IB5h%ZFH>0-IlGGVmOg(E z6fllHP=EU0BXbX_k54LKzN(Pfsfn4JcLO(q53!INK)Q zMN?ETaM>2;cYC&)Rn=D6SDwAUqUla;L;SaQyw!i}O#V&U#=)GDCbjm~ski)h{&w(% z1|GFj2xi>;&Tqy{7nRz|>JX(#T1yv2mQUy0x8{rUu^Ed$MrBKtUrSos+hh1L<7(Kk z8B=CzuWsuuYg+fDb6>u8PS4M1>w|mDcC=~#pRLaV327uU-~sc8Y5%Nt#BrGeMfp-A cJkxxA8MJ_G4ydY2!IMEOPgg&ebxsLQ06+ufmjD0& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/new_soviet/textures/entity/banner/star_pattern.png b/src/main/resources/assets/new_soviet/textures/entity/banner/star_pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..355a67c23c54f962c44786828ecc66923f2aaeb7 GIT binary patch literal 457 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zGd*1#Ln`LH zy%CsqSb>Kv!RD=~U%U$N}r>XUyG#5$PAhRkwGx%Oo8G^HM& zxRuRj5!?1(npp-SUzA1UHtUMZy(K8r0-sBAu+^ACPS;nY?0Km1*Uf zwW8aubtT_ZYIzV9UmN}0XmfV$*Qsar_C6`do~!No;^lu1a1bF84<_$ntjiJMt6!yQ h3KZr`jqptK^<~fkvSDg31y2TP@O1TaS?83{1OSKz!-)U@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/new_soviet/textures/item/pattern/grain.png b/src/main/resources/assets/new_soviet/textures/item/pattern/grain.png new file mode 100644 index 0000000000000000000000000000000000000000..8b80f50c7a14da9fdd51f9fa584b61e7e742d59b GIT binary patch literal 420 zcmV;V0bBlwP)Px$UP(kjR5*>Tk}*gEQ5eU6r!9&JCwX|Ba|kD%(c%!%AUGMeL`2XOM7h@F*pxv_ z2+?gp`V z3V``UdZfoG&v0QOyFx6ULe(u)-9iWPx$U`a$lR5*>Tk}*g^Q51&1r!9&JPf~p79D?FATAZTcfs>r~Wrpk|p?HNZi1l3Ae zT7?q5P6NBu1RxSkU=>Q}hRMtG4FFqvXWCqXNjPMYXo6%S&coFm!9al9dPnnn73+pc zU^&j`$2$Nku_S)q7vXS-*TEa1Sdh#6x(2Z1cAy(3>2yxT-EIqj)Q^*q7;tv+sGO@Q zOj>t}oYNup!qgbu>VS&J!!~xSIi;=$-0DtII-OH-uhZ~!pir%pW#6tzA%qk{$XG0) z?tQx^&ri2Kmq~r%(aE(|1qn}Bg_7!jJZ#TZ_uRxuwQO$Pv-gGZoArOgH(ULePRg{S QvH$=807*qoM6N<$g0u_2%m4rY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/new_soviet/textures/item/pattern/star.png b/src/main/resources/assets/new_soviet/textures/item/pattern/star.png new file mode 100644 index 0000000000000000000000000000000000000000..ee36e1d7d244d0608f88e5380592f08be0453387 GIT binary patch literal 435 zcmV;k0ZjghP)Px$ZAnByR5*>Tl0QhpKop0+s7pnK6dMe2mO_fDxHyP76gpLO5fQ;j@K0Br9G$G7 zgA_zTTm&cG?IeO-3TbJebhcDEu#1C}=b}fN#!}D^Zh80a_kQo)gFm7L0~>P*nb}++ zo|pk(Vlvf{2uZ3o?SRJ_$JcR1=0 z$mg;$m0qM)EmCny07PRJsq`Yc>F{)a2EfAVzSdR1&yQF%W-)G!adUjhU?jr%Lsjb! zd#sxdk>N2u-d_P2HOA@h`($Kfi08%&L&hLS*AE)NK+u7|=h@Ucp63D(|90{w8tfn5 zD(C7K{MKzd*(Pe+$u?m>ZQuBlPjGNa6xL-V%K}}xvZ>L z3Q`Cm4a1T`2z3m@k_UTBq06L(xV?L-sIN4G=5hQdI{naLu)1kfh d%x~8JjW15ekZ4N3OgsPp002ovPDHLkV1gSt#C8Ax literal 0 HcmV?d00001 diff --git a/src/main/resources/data/new_soviet/tags/banner_pattern/sickle_pattern.json b/src/main/resources/data/new_soviet/tags/banner_pattern/sickle_pattern.json new file mode 100644 index 0000000..8ee3a20 --- /dev/null +++ b/src/main/resources/data/new_soviet/tags/banner_pattern/sickle_pattern.json @@ -0,0 +1,5 @@ +{ + "values": [ + "new_soviet:sickle_pattern" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/new_soviet/tags/banner_pattern/star_pattern.json b/src/main/resources/data/new_soviet/tags/banner_pattern/star_pattern.json new file mode 100644 index 0000000..594c52c --- /dev/null +++ b/src/main/resources/data/new_soviet/tags/banner_pattern/star_pattern.json @@ -0,0 +1,5 @@ +{ + "values": [ + "new_soviet:star_pattern" + ] +} \ No newline at end of file