From 7aadd99fd11cf80ef40cb6888fbf589e8e42c44c Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 27 Aug 2024 15:29:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=E7=9A=84=E6=9D=91?= =?UTF-8?q?=E6=B0=91=E8=81=8C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/mcreator/superbwarfare/ModUtils.java | 3 +- .../superbwarfare/init/ModVillagers.java | 51 ++++++++++++++++++ .../assets/superbwarfare/lang/en_us.json | 2 + .../assets/superbwarfare/lang/zh_cn.json | 1 + .../entity/villager/profession/armsdealer.png | Bin 2993 -> 0 bytes .../zombie_villager/profession/armsdealer.png | Bin 2944 -> 0 bytes .../acquirable_job_site.json | 8 +++ 7 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/mcreator/superbwarfare/init/ModVillagers.java delete mode 100644 src/main/resources/assets/superbwarfare/textures/entity/villager/profession/armsdealer.png delete mode 100644 src/main/resources/assets/superbwarfare/textures/entity/zombie_villager/profession/armsdealer.png create mode 100644 src/main/resources/data/minecraft/tags/point_of_interest_type/acquirable_job_site.json diff --git a/src/main/java/net/mcreator/superbwarfare/ModUtils.java b/src/main/java/net/mcreator/superbwarfare/ModUtils.java index 5f0c2b230..4faf39aeb 100644 --- a/src/main/java/net/mcreator/superbwarfare/ModUtils.java +++ b/src/main/java/net/mcreator/superbwarfare/ModUtils.java @@ -30,7 +30,7 @@ import java.util.function.BiConsumer; import java.util.function.Function; import java.util.function.Supplier; -@Mod("superbwarfare") +@Mod(ModUtils.MODID) public class ModUtils { public static final String MODID = "superbwarfare"; public static final String ATTRIBUTE_MODIFIER = "superbwarfare_attribute_modifier"; @@ -51,6 +51,7 @@ public class ModUtils { ModPotion.POTIONS.register(bus); ModMenuTypes.REGISTRY.register(bus); ModEnchantments.REGISTRY.register(bus); + ModVillagers.register(bus); bus.addListener(this::onCommonSetup); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModVillagers.java b/src/main/java/net/mcreator/superbwarfare/init/ModVillagers.java new file mode 100644 index 000000000..cefcb47f8 --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/init/ModVillagers.java @@ -0,0 +1,51 @@ +package net.mcreator.superbwarfare.init; + +import com.google.common.collect.ImmutableSet; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import net.mcreator.superbwarfare.ModUtils; +import net.minecraft.world.entity.ai.village.poi.PoiType; +import net.minecraft.world.entity.npc.VillagerProfession; +import net.minecraft.world.entity.npc.VillagerTrades; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.trading.MerchantOffer; +import net.minecraftforge.event.village.VillagerTradesEvent; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.List; + +@Mod.EventBusSubscriber(modid = ModUtils.MODID) +public class ModVillagers { + public static final DeferredRegister POI_TYPES = DeferredRegister.create(ForgeRegistries.POI_TYPES, ModUtils.MODID); + public static final DeferredRegister VILLAGER_PROFESSIONS = DeferredRegister.create(ForgeRegistries.VILLAGER_PROFESSIONS, ModUtils.MODID); + + public static final RegistryObject ARMS_DEALER_POI = POI_TYPES.register("arms_dealer", + () -> new PoiType(ImmutableSet.copyOf(ModBlocks.REFORGING_TABLE.get().getStateDefinition().getPossibleStates()), 1, 1)); + + public static final RegistryObject ARMS_DEALER = VILLAGER_PROFESSIONS.register("arms_dealer", + () -> new VillagerProfession("arms_dealer", holder -> holder.get() == ARMS_DEALER_POI.get(), holder -> holder.get() == ARMS_DEALER_POI.get(), + ImmutableSet.of(), ImmutableSet.of(), null)); + + public static void register(IEventBus eventBus) { + POI_TYPES.register(eventBus); + VILLAGER_PROFESSIONS.register(eventBus); + } + + @SubscribeEvent + public static void addCustomTrades(VillagerTradesEvent event) { + if (event.getType() == ModVillagers.ARMS_DEALER.get()) { + Int2ObjectMap> trades = event.getTrades(); + +// trades.get(1).add(((pTrader, pRandom) -> new MerchantOffer(new ItemStack(ItemRegistry.RED_AHOGE.get(), 5), +// new ItemStack(Items.EMERALD, 1), 10, 2, 0.05f))); +// trades.get(1).add(((pTrader, pRandom) -> new MerchantOffer(new ItemStack(ItemRegistry.WHITE_AHOGE.get(), 5), +// new ItemStack(Items.EMERALD, 1), 10, 2, 0.05f))); + } + } + +} diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 57c545917..66bdd009c 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -327,5 +327,7 @@ "des.superbwarfare.shoot.rings": "Rings ", + "entity.minecraft.villager.superbwarfare.arms_dealer": "Arms Dealer", + "container.superbwarfare.reforging_table": "Gun Reforge Table" } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index edf5384ca..56c216997 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -327,6 +327,7 @@ "des.superbwarfare.shoot.rings": "环 ", + "entity.minecraft.villager.superbwarfare.arms_dealer": "军火商", "container.superbwarfare.reforging_table": "枪械重铸台" } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/textures/entity/villager/profession/armsdealer.png b/src/main/resources/assets/superbwarfare/textures/entity/villager/profession/armsdealer.png deleted file mode 100644 index f69c4227fc9565280138f1fb5085311e808b7a34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2993 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 diff --git a/src/main/resources/assets/superbwarfare/textures/entity/zombie_villager/profession/armsdealer.png b/src/main/resources/assets/superbwarfare/textures/entity/zombie_villager/profession/armsdealer.png deleted file mode 100644 index 5342c27a24b3960396f724295d178da8aaf8caee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2944 zcmV-`3xD*9P)r_2!@Qn5)eanBnJ?%P~`Q4WGE06*oNK`*^;eS{Q>qv z9_%EtlQ&<0*noj3fFlG!Zjg}3^2UhuAVD&(OYV}x8FI-Pa>(Unx~u%q(>>jDA-N_u zq?G*uyE9d%&Y3!=&N+3Z;1E3VmB;l#bjP$02H+BJPOKY~&U03ifI z2$Z8(oGS9|@Bizue#a73H0y2!nSReXUZt8iRWWDwu7T= zDvMR%!00>@PRs-D7wUDJq4Pjbs;pvJ7N%t)#PP@P*aqk}0~|&>vV7B`a3zOf z7-+4zl*u8bWNLZo*s=k{Ve|a`#-pRXlhp0z_y_^U`(ce44CBT4g-?yLFn^oP ztq1^*{6PwU*Z=m-j_dtz{Ka(*@csv7gn+?*$QQC`1xqtU@|UyzOffc`W@&1f^u;t% z3X0QZt~^vgeE!A9{1BM^=ec|8csEQuJsv6_v{(2--yoYR5~}Z}a5p^r%yqrLzt7l( z2;hz|TJz9DDFgzgHOf&)DOs9!4I`yQO4%L)t(}LaVLV!Exl`L#MY~~BMebSQR_yKV z1MqMEImPqO=PllXjnC{^AATh60toLv4G>{+a@}7`Ofrf4Roi=Qf zWFf(7dDS1uAk8stQkfL%OO>vQw#pCUxZ7obFFt)u&&5^Z&-i5vg(n`3(p zG{WOF@kiGm)c^z0KK|vW|8*k$dFqA7_15NHzdR7_qd(f~mwS49ST9%E+Pr)E2Kc{% zXJ`-q{pSDrx$(Z>#U~%rQ|CL=uH1r;7E4Ex^Q+05_jQoY{CU9rMq3j6%kTVY$W`8b zcP&JJ;}`#Nro!g6uV2%NLL9?1h(s)Y_TDsFHC)?(cYbv6G<)j1!Q i}H_eE;K8~ z1lo4jJi|M>@@^7_^`03*W*q!5&@o(s{lle++H?d)}wH_+RI5jgFYjZsv}?dBJrdpOkI zaU4psD-^Ee{JL6g%m3bc?i}0OJ6I8u%3`(cCdn+;s^kabR2HiwM&baCGk5$lK(SW! zzvll~8)nMO0F0+H)a!N9W5Z~z z*=iU+i23zZ(&q-KELMrz!;wL`N259-ka^%$)*yL z?Bp&=YYgLH<->gK^-5`G%FEn%YXg7_&knP8tGOhP<_6pNMq)`8H`d8y+iB3q0mWLC z-if$g`3U+pODc`M;=?g1rng)fzIO~g5I>8SC0(`*`@WLSIDaBe9Z)?En+toGBCx$7{t-48YtB1kNK#0e#+thY< ziRGgh(rA|%9O>X^@O!aVrLtIUj()%sT9xRr%+ScTD&*yc);2-Dy5qEU)RU1OOQDoz zG(N=Ga2ngL6EDQ*-GE-FJ*@Wk_vy1N9NY1)*h2>J6x@jsN`ydY^gVBAO^~gMv?}E( zWEt(&Z*AwnYpay@!^Sg;){3=T>)cszSE$9>23l(pBXKh0sW#b;qu5xkv9;2kAfb^1 zJTLIVpi}k_hCq_w*J_X;fAIUyemT=@ zRBC4KcN>W@SQkQ=K`M)G$Rt{X1(gWq2Foz~Y3#5$KFAkLu-=Sd zM4O}NY${~G#Ih~w#y-LjT{rmWoL+W~opu9wyS)X%p8(umYh!5A+_u|$dmS^oHw^|+ zcN}_T_o>h0^Xh}iGdOKJo2qFDN3-wjV=9x~jUE3Tfv;f1qQAetqw;Vc_5z0`MNhfl zLa5V>0O6_hFxb+@iboI~a_ugil?O1p?eAaz-dFYH)H;9jgYcRC%P(EmSFa@b#PefpZF58l38Bhu$?cAP%>yiY!&^~bn$PN$O z6YUdcfP2N6KM?u;Uwti<)|aN14{ZPBlOq7UKrYn&?YlLMn8_1gd0Yo`!pF`7etWyi z67djPH<+(~@2kJpiBOPFH?E(R*6u3|tr0>t7d;xJA(>q%@!fA9?``i%KOdL_xr zFJ0H(ROn5CZP1OIXRUD*Xr)-VT?_wEe4nwQ<-)9!|?TQ{`g29ZLe zi09)dr7$`z(@q&?X54j4t#sQNJHYIGJygDWrCo^DFu&%$0Z5D_V6j4F!&N+*jk3J$ z?l4E=Lnqw*<3pC`R&X4LxjSWw(5bC6fq#f` zmSCnXrdXX{Wn?tL+C~MX9Hf-~Gqb0!Wx6tJtx-x*o^wZk_`(oEfE1GCXcDCq8^sM` zxfqE;!atliOEBkdZU7N#x3=BS+3suU?r=9HwfSb|*V^?Ah)^qb-;JF%%!%_egmI4Aa0cWk}K4l@hZn?#O!{;ME(3NhD&iS*lShx$d8xNVB-Pj%gSy zRPHdpwt|$B<(YDb|E$0?3`y=%rm=h#zFSYEv%caJ=`6+Rl5d#Vl@b$a_q%DC