From b00f4a96fae461b8d8533703d44323102dcaffac Mon Sep 17 00:00:00 2001 From: RyanTLG <78032176+RyanTLG@users.noreply.github.com> Date: Sat, 30 Apr 2022 14:40:45 +0200 Subject: [PATCH] port gamer bow to 1.18.2 --- gradle.properties | 2 +- .../java/net/arcmods/ryantlg/gamermod.java | 2 + .../net/arcmods/ryantlg/gamermodClient.java | 3 + .../arcmods/ryantlg/items/bows/gamerBow.java | 19 ++++ .../utils/bowModelPredicateProvider.java | 31 ++++++ .../resources/assets/gamermod/lang/en_us.json | 3 +- .../gamermod/models/item/gamer_bow.json | 98 ++++++++++++++++++ .../models/item/gamer_bow_pulling_0.json | 6 ++ .../models/item/gamer_bow_pulling_1.json | 6 ++ .../models/item/gamer_bow_pulling_2.json | 6 ++ .../gamermod/textures/item/gamer_bow.png | Bin 0 -> 471 bytes .../textures/item/gamer_bow_pulling_0.png | Bin 0 -> 723 bytes .../textures/item/gamer_bow_pulling_1.png | Bin 0 -> 688 bytes .../textures/item/gamer_bow_pulling_2.png | Bin 0 -> 634 bytes .../data/gamermod/recipes/gamer_bow.json | 23 ++++ 15 files changed, 197 insertions(+), 2 deletions(-) create mode 100644 src/main/java/net/arcmods/ryantlg/items/bows/gamerBow.java create mode 100644 src/main/java/net/arcmods/ryantlg/utils/bowModelPredicateProvider.java create mode 100644 src/main/resources/assets/gamermod/models/item/gamer_bow.json create mode 100644 src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_0.json create mode 100644 src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_1.json create mode 100644 src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_2.json create mode 100644 src/main/resources/assets/gamermod/textures/item/gamer_bow.png create mode 100644 src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_0.png create mode 100644 src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_1.png create mode 100644 src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_2.png create mode 100644 src/main/resources/data/gamermod/recipes/gamer_bow.json diff --git a/gradle.properties b/gradle.properties index db7d1be..7afdfa7 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx6G loader_version=0.13.2 # Mod Properties - mod_version = 1.18.2-1.0.0-stable + mod_version = 1.18.2-1.1.0-stable maven_group = ryantlg.GamerMod.mod archives_base_name = GamerMod diff --git a/src/main/java/net/arcmods/ryantlg/gamermod.java b/src/main/java/net/arcmods/ryantlg/gamermod.java index 7c50203..46fd737 100755 --- a/src/main/java/net/arcmods/ryantlg/gamermod.java +++ b/src/main/java/net/arcmods/ryantlg/gamermod.java @@ -9,6 +9,7 @@ import net.arcmods.ryantlg.items.armour.jeremiumArmour; import net.arcmods.ryantlg.items.armour.notArmour; import net.arcmods.ryantlg.items.armour.omniumArmour; import net.arcmods.ryantlg.items.armour.oriumArmour; +import net.arcmods.ryantlg.items.bows.gamerBow; import net.arcmods.ryantlg.items.itemsByCrop.weemItems; import net.arcmods.ryantlg.items.metalItems.jeremiumMetals; import net.arcmods.ryantlg.items.metalItems.omniumMetals; @@ -97,6 +98,7 @@ public class gamermod implements ModInitializer { JeremiumOreGen.register(); notArmour.register(); + gamerBow.register(); } //fight me diff --git a/src/main/java/net/arcmods/ryantlg/gamermodClient.java b/src/main/java/net/arcmods/ryantlg/gamermodClient.java index 74691bb..bedba38 100644 --- a/src/main/java/net/arcmods/ryantlg/gamermodClient.java +++ b/src/main/java/net/arcmods/ryantlg/gamermodClient.java @@ -1,6 +1,7 @@ package net.arcmods.ryantlg; import net.arcmods.ryantlg.blocks.CropBlocks; +import net.arcmods.ryantlg.utils.bowModelPredicateProvider; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -14,6 +15,8 @@ public class gamermodClient implements ClientModInitializer{ public void onInitializeClient() { BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), CropBlocks.WEEM_CROP_BLOCK); + bowModelPredicateProvider.registerBowModels(); + gamermod.LOGGER.info("Client only objects loaded"); } diff --git a/src/main/java/net/arcmods/ryantlg/items/bows/gamerBow.java b/src/main/java/net/arcmods/ryantlg/items/bows/gamerBow.java new file mode 100644 index 0000000..56d72c3 --- /dev/null +++ b/src/main/java/net/arcmods/ryantlg/items/bows/gamerBow.java @@ -0,0 +1,19 @@ +package net.arcmods.ryantlg.items.bows; + +import net.arcmods.ryantlg.gamermod; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.minecraft.item.BowItem; +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +public class gamerBow { + + public static final Item GAMER_BOW = new BowItem(new FabricItemSettings().group(gamermod.CHING).maxCount(1).fireproof().maxDamage(458)); + + public static void register(){ + Registry.register(Registry.ITEM, new Identifier("gamermod", "gamer_bow"), GAMER_BOW); + } + + +} diff --git a/src/main/java/net/arcmods/ryantlg/utils/bowModelPredicateProvider.java b/src/main/java/net/arcmods/ryantlg/utils/bowModelPredicateProvider.java new file mode 100644 index 0000000..df20a7a --- /dev/null +++ b/src/main/java/net/arcmods/ryantlg/utils/bowModelPredicateProvider.java @@ -0,0 +1,31 @@ +package net.arcmods.ryantlg.utils; + +import net.arcmods.ryantlg.items.bows.gamerBow; +import net.minecraft.client.item.ModelPredicateProviderRegistry; +import net.minecraft.item.Item; +import net.minecraft.util.Identifier; + +public class bowModelPredicateProvider { + + public static void registerBowModels() { + registerBow(gamerBow.GAMER_BOW); + } + + private static void registerBow(Item bow) { + ModelPredicateProviderRegistry.register(bow, new Identifier("pull"), + (stack, world, entity, seed) -> { + if (entity == null) { + return 0.0f; + } + if (entity.getActiveItem() != stack) { + return 0.0f; + } + return (float)(stack.getMaxUseTime() - entity.getItemUseTimeLeft()) / 20.0f; + }); + + ModelPredicateProviderRegistry.register(bow, new Identifier("pulling"), + (stack, world, entity, seed) -> entity != null && entity.isUsingItem() + && entity.getActiveItem() == stack ? 1.0f : 0.0f); + } + +} diff --git a/src/main/resources/assets/gamermod/lang/en_us.json b/src/main/resources/assets/gamermod/lang/en_us.json index f28f969..2c4344e 100755 --- a/src/main/resources/assets/gamermod/lang/en_us.json +++ b/src/main/resources/assets/gamermod/lang/en_us.json @@ -68,6 +68,7 @@ "item.gamermod.jeremium_sword.tooltip": "Kinda heavy", "block.gamermod.deepslate_jeremium_ore": "Deepslate Jeremium Ore", "block.gamermod.deepslate_omnium_ore": "Deepslate Omnium Ore", - "block.gamermod.deepslate_orium_ore": "Deepslate Orium Ore" + "block.gamermod.deepslate_orium_ore": "Deepslate Orium Ore", + "item.gamermod.gamer_bow": "Gamer Bow" } \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/models/item/gamer_bow.json b/src/main/resources/assets/gamermod/models/item/gamer_bow.json new file mode 100644 index 0000000..6a40404 --- /dev/null +++ b/src/main/resources/assets/gamermod/models/item/gamer_bow.json @@ -0,0 +1,98 @@ +{ + "parent": "minecraft:item/generated", + "display": { + "thirdperson_righthand": { + "rotation": [ + -80, + 260, + -40 + ], + "translation": [ + -1, + -2, + 2.5 + ], + "scale": [ + 0.9, + 0.9, + 0.9 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + -80, + 280, + 40 + ], + "translation": [ + -1, + -2, + 2.5 + ], + "scale": [ + 0.9, + 0.9, + 0.9 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + -90, + 25 + ], + "translation": [ + 1.13, + 3.2, + 1.13 + ], + "scale": [ + 0.68, + 0.68, + 0.68 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 90, + -25 + ], + "translation": [ + 1.13, + 3.2, + 1.13 + ], + "scale": [ + 0.68, + 0.68, + 0.68 + ] + } + }, + "textures": { + "layer0": "gamermod:item/gamer_bow" + }, + "overrides": [ + { + "predicate": { + "minecraft:pulling": 1 + }, + "model": "gamermod:item/gamer_bow_pulling_0" + }, + { + "predicate": { + "minecraft:pulling": 1, + "minecraft:pull": 0.65 + }, + "model": "gamermod:item/gamer_bow_pulling_1" + }, + { + "predicate": { + "minecraft:pulling": 1, + "minecraft:pull": 0.9 + }, + "model": "gamermod:item/gamer_bow_pulling_2" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_0.json b/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_0.json new file mode 100644 index 0000000..dd6a16d --- /dev/null +++ b/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_0.json @@ -0,0 +1,6 @@ +{ + "parent": "gamermod:item/gamer_bow", + "textures": { + "layer0": "gamermod:item/gamer_bow_pulling_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_1.json b/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_1.json new file mode 100644 index 0000000..eb30386 --- /dev/null +++ b/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "gamermod:item/gamer_bow", + "textures": { + "layer0": "gamermod:item/gamer_bow_pulling_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_2.json b/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_2.json new file mode 100644 index 0000000..19c5704 --- /dev/null +++ b/src/main/resources/assets/gamermod/models/item/gamer_bow_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "gamermod:item/gamer_bow", + "textures": { + "layer0": "gamermod:item/gamer_bow_pulling_2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gamermod/textures/item/gamer_bow.png b/src/main/resources/assets/gamermod/textures/item/gamer_bow.png new file mode 100644 index 0000000000000000000000000000000000000000..7be838a1c8ca31ac7f4f5bfdee18d33a97b33d46 GIT binary patch literal 471 zcmV;|0Vw{7P)BmLNCWDS(FS9-YakDfKBM_m%(xIA-&$6FD~r+?oM`Q@1a7`^jpq_lxlqkigr= zcd~A`HEKgZjUED=Gmg!D-5x9u68*aHMh_r*x>%lGzF5)6z>Navd^8^?{jqSX04Mz^ z;8p=&`cuJI1i0Ow5^fZ5r9U-1NFWE?C}668E;vgdC)_KL8{QDWTaaEr{{goO>>mu+ z*DvRr&^4#N4bSgxD*RlizfG~5bJnk1$B^J&znslEb6B6{oQ>9<^9OZ4b}-}J#BKlp N002ovPDHLkV1m`0)p!5^ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_0.png b/src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_0.png new file mode 100644 index 0000000000000000000000000000000000000000..3fac5fd0c1b36c176652471ac1661d0a0469dec0 GIT binary patch literal 723 zcmV;^0xbQBP) z!{*@Gix4PO(MoZ_Ul=r63r1b@2Hr3`nVFqQ(+-rTrM;Ac8jo8qeQV-gmgMR6p?caw^*vW(fQd0|L!7VbAfz552;j&-Gd_d zceB~FDvJy}JUyype_#K@{@+>e0!eTHrhw2O2%uiCTfqrDF*XAG#&&Wjf)K)Bz16Bl zBmpWzCX-=sZ_jI3`?vwmUVKp|KwxpD1eJjVB8jv2AB0QSuJY$b0J&T)#Mn>FjD}}U zP4!90U=>sb%BwdDh?8XryfK+f!rs4YAcNzey4CY0)O9OLT$(!q&tJCT>f9ui1|sN7-{R_E(EHc@i!X&H@CdZvVGyn#V5ogpGs= zu1$ah-hbXucDsv&vw*nz;L|UDXvp=|ZC2vEIJh!_xYg@6EAR9Lc1b+Wodpn12g~wm zN4t7i;>!FzC=?3NYPG=keI{W8?@Pcoeo+8V(MqKPjYcCP5ghZZ_KV0y&a*ou&Mtrz^+4C>{0HD%|1gIp$Y%fm002ovPDHLk FV1f*4Pul0v@6oyZbVym@CN(*YMi(V5Wn3dqJt7H>!QR<>}pf9!6rXIe?hDu zadETgx|>3vP{p>CUhtzdXlyMs>NW4cT;_hyorZQGi*V1(`<(Zj`H0aekJu^elLb&H z6imQWDwPw3vH_IKWhxen%#^4glk-nm0?Mjtg8(L8Et+p5vFi{aG6ac}Q zOvZ%mH!t^@ zK!AbsJ%mfBfAESGr)savqs7$&96;s4DI@5Nu>oYCJvImWdz4?i#|FRxfHu{9~B_0000 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_2.png b/src/main/resources/assets/gamermod/textures/item/gamer_bow_pulling_2.png new file mode 100644 index 0000000000000000000000000000000000000000..640b08f371725903be4d3a45d1f9b7acc1b66aff GIT binary patch literal 634 zcmV-=0)_pFP)bHLWl4Ybg)Y&(=ZQp=m*`3=#c&a(LZ1mWRRE6 zT>>wW1y&dsf`r)*%G!DZvux|^wzHaDTG+$F+xPv<_q~~U2KeL0@W=Y_4^ZVmC=?Q~ zEb(|;lRN&6WfIT(Jd|JIXm!oN1c=3A5Dte)P8Nt%)Y{#`rCoZekoeML1rUO{N^~I@ z41&|?{02gWrJ|USCgURc3T8ThNf5y6^@79UAUP2Pzxx7HV1B;=mMA9E3NXGE6Lx3A zBwq0+3X#j@AdyJGU}TQuFBXe%pU)8cctoXengLuc7ZJC&W#Bsh3H@T8!*-g1Ye_WuZg-Cl08 ziM2mppNGJh4USKXpcg_D0InXzX}5nEyF}ajds~HCAh-Z>g%@VG>xGbuE0%ydaF#78 zZZ$m+ngFEs-`+i`?sZ-WE&wI_