Skip to content

Commit 1e02813

Browse files
committed
Fishrod 0
1 parent d7ca61d commit 1e02813

36 files changed

Lines changed: 537 additions & 143 deletions

src/generated/resources/.cache/20f5c98dc0fe2d7a53fc98de5b4a9405da0eaab5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// 1.21.1 2025-02-08T09:26:43.6856519 Biome Modifier Registries: ifw
1+
// 1.21.1 2025-02-08T11:36:38.421739 Biome Modifier Registries: ifw
22
a25ea81b0b513691a1aadbdd843a920893a06506 data/ifw/neoforge/biome_modifier/ifw_add_features.json
33
c3c517b6bb5c1a869ec2b8bb6a5895a4eda835c4 data/ifw/neoforge/biome_modifier/ifw_remove_features.json
44
78c60995ac955e2d8c3decd999ee61f693e654ce data/ifw/worldgen/configured_feature/ore_adamantium.json

src/generated/resources/.cache/4bcb1c211b05e58ffb2380862bfb6b11ccce7318

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// 1.21.1 2025-02-08T09:26:43.6806532 Item Models: ifw
1+
// 1.21.1 2025-02-08T11:36:57.5645721 Item Models: ifw
22
9ab6010cac42ea73553903db669fc5c01da3210b assets/ifw/models/item/adamantium_axe.json
33
3e249b9ae88c47d265a6ad92dba33dd7b78a34b9 assets/ifw/models/item/adamantium_battle_axe.json
44
76e201d75e58d642af30ed859a4d320fe680b55d assets/ifw/models/item/adamantium_block.json
@@ -85,6 +85,7 @@ dfe50122e89b24181ef32136a75cd011777bb247 assets/ifw/models/item/copper_chainmail
8585
1685c7e336392d81f163331045921248d9707f6a assets/ifw/models/item/copper_chainmail_leggings.json
8686
b48ae423fdd5fcd584958ae6755352f1b18a0870 assets/ifw/models/item/copper_chestplate.json
8787
c4d3a1f9e163a0dd74194aada7729571c0d1aa03 assets/ifw/models/item/copper_dagger.json
88+
1441dfdd1b481843c8e273f338475674ea38c151 assets/ifw/models/item/copper_fishing_rod.json
8889
89ea118646cd173acf357f192bb3a2cbc52c7e51 assets/ifw/models/item/copper_helmet.json
8990
d86c2db79d04cfbbe7513a840ab719fca0a3c0dc assets/ifw/models/item/copper_hoe.json
9091
c7e2c8311db4f7919cb29003c0d97b8abcd19781 assets/ifw/models/item/copper_horse_armor.json

src/generated/resources/.cache/8c8364f4e83c409ec545b3c2adc7d52ce75bbb78

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// 1.21.1 2025-02-07T11:37:17.8226583 Tags for minecraft:item mod id vanilla
1+
// 1.21.1 2025-02-08T11:00:49.5139233 Tags for minecraft:item mod id vanilla
22
20de0e0f4a475259665e322b8fce4c6dc9bd398e data/c/tags/item/buckets/empty.json
33
9933c503dbedf99d643885097dc116339d03f83e data/c/tags/item/buckets/entity_water.json
44
443176368149964cb5339e006ca44d79e5343a0e data/c/tags/item/buckets/lava.json
@@ -14,6 +14,8 @@ bdd81346635b7b10de96229750d71f72b3168a47 data/minecraft/tags/item/battle_axe.jso
1414
090c6c0dba8de4988a2c80904208e91580c23928 data/minecraft/tags/item/buckets_tropical_fish.json
1515
91e6fcd988d4016348a8188dcd9e1c6d02f0f8c2 data/minecraft/tags/item/dagger.json
1616
0796ab454e84fba5a06341722fc1a6dc15fa87a5 data/minecraft/tags/item/enchantable/chest_armor.json
17+
5c00dd6c572e88f994694d948c52bbb9deb37f4f data/minecraft/tags/item/enchantable/durability.json
18+
5c00dd6c572e88f994694d948c52bbb9deb37f4f data/minecraft/tags/item/enchantable/fishing.json
1719
50ac789038ba6da8d2a5ff64a13f7114b0ab6650 data/minecraft/tags/item/enchantable/foot_armor.json
1820
6ed39b7084ed5b36f36bdc32414c8c6a60ce2ec8 data/minecraft/tags/item/enchantable/head_armor.json
1921
a2d55e4e04f383ff3d967cc0e59f0a2723e53ab7 data/minecraft/tags/item/enchantable/leg_armor.json
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"parent": "minecraft:item/handheld_rod",
3+
"overrides": [
4+
{
5+
"model": "minecraft:item/fishing_rod_cast",
6+
"predicate": {
7+
"minecraft:cast": 1.0
8+
}
9+
}
10+
],
11+
"textures": {
12+
"layer0": "ifw:item/copper_fishing_rod"
13+
}
14+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"values": [
3+
"ifw:copper_fishing_rod"
4+
]
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"values": [
3+
"ifw:copper_fishing_rod"
4+
]
5+
}

src/main/java/huix/infinity/common/world/block/IFWBlocks.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@
1717
import net.neoforged.neoforge.registries.DeferredItem;
1818
import net.neoforged.neoforge.registries.DeferredRegister;
1919

20-
import java.util.Set;
21-
2220
public class IFWBlocks {
2321
public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(InfinityWay.MOD_ID);
2422
public static final DeferredRegister.Items ITEM_BLOCKS = IFWItems.ITEMS;
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
package huix.infinity.common.world.item;
2+
3+
import huix.infinity.common.world.item.tier.IFWTier;
4+
import net.minecraft.server.level.ServerLevel;
5+
import net.minecraft.sounds.SoundEvents;
6+
import net.minecraft.sounds.SoundSource;
7+
import net.minecraft.stats.Stats;
8+
import net.minecraft.world.InteractionHand;
9+
import net.minecraft.world.InteractionResultHolder;
10+
import net.minecraft.world.entity.LivingEntity;
11+
import net.minecraft.world.entity.player.Player;
12+
import net.minecraft.world.entity.projectile.FishingHook;
13+
import net.minecraft.world.item.FishingRodItem;
14+
import net.minecraft.world.item.Item;
15+
import net.minecraft.world.item.ItemStack;
16+
import net.minecraft.world.item.enchantment.EnchantmentHelper;
17+
import net.minecraft.world.level.Level;
18+
import net.minecraft.world.level.gameevent.GameEvent;
19+
import net.neoforged.neoforge.common.ItemAbilities;
20+
import net.neoforged.neoforge.event.EventHooks;
21+
22+
public class FishingRod extends FishingRodItem {
23+
24+
private final IFWTier tier;
25+
26+
public FishingRod(IFWTier tier, Properties properties) {
27+
super(properties.stacksTo(1).durability((int) (2.0F * tier.getDurability())));
28+
this.tier = tier;
29+
}
30+
31+
32+
@Override
33+
public InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand hand) {
34+
ItemStack itemstack = player.getItemInHand(hand);
35+
if (player.fishing != null) {
36+
if (!level.isClientSide) {
37+
int i = player.fishing.retrieve(itemstack);
38+
ItemStack original = itemstack.copy();
39+
itemstack.hurtAndBreak(i, player, LivingEntity.getSlotForHand(hand));
40+
if(itemstack.isEmpty()) {
41+
EventHooks.onPlayerDestroyItem(player, original, hand);
42+
}
43+
}
44+
level.playSound(
45+
null, player.getX(), player.getY(), player.getZ(), SoundEvents.FISHING_BOBBER_RETRIEVE, SoundSource.NEUTRAL, 1.0F,
46+
0.4F / (level.getRandom().nextFloat() * 0.4F + 0.8F)
47+
);
48+
player.gameEvent(GameEvent.ITEM_INTERACT_FINISH);
49+
} else {
50+
level.playSound(
51+
null,
52+
player.getX(), player.getY(), player.getZ(), SoundEvents.FISHING_BOBBER_THROW, SoundSource.NEUTRAL, 0.5F,
53+
0.4F / (level.getRandom().nextFloat() * 0.4F + 0.8F)
54+
);
55+
if (level instanceof ServerLevel serverlevel) {
56+
int j = (int)(EnchantmentHelper.getFishingTimeReduction(serverlevel, itemstack, player) * 20.0F);
57+
int k = EnchantmentHelper.getFishingLuckBonus(serverlevel, itemstack, player);
58+
level.addFreshEntity(new FishingHook(player, level, k, j));
59+
}
60+
61+
player.awardStat(Stats.ITEM_USED.get(this));
62+
player.gameEvent(GameEvent.ITEM_INTERACT_START);
63+
}
64+
65+
return InteractionResultHolder.sidedSuccess(itemstack, level.isClientSide());
66+
}
67+
68+
69+
@Override
70+
public int getEnchantmentValue() {
71+
return this.tier().getEnchantmentValue();
72+
}
73+
74+
public IFWTier tier() {
75+
return this.tier;
76+
}
77+
}

src/main/java/huix/infinity/common/world/item/IFWBucketItem.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package huix.infinity.common.world.item;
22

3+
import huix.infinity.common.world.item.tier.IFWTier;
34
import huix.infinity.common.world.item.tier.IFWTiers;
45
import huix.infinity.func_extension.BucketPickupExtension;
56
import huix.infinity.util.BucketHelper;
@@ -41,8 +42,8 @@
4142
import java.util.Optional;
4243

4344
public class IFWBucketItem extends BucketItem {
44-
private final IFWTiers tier;
45-
public IFWBucketItem(Fluid content, IFWTiers tier, Properties properties) {
45+
private final IFWTier tier;
46+
public IFWBucketItem(Fluid content, IFWTier tier, Properties properties) {
4647
super(content, properties.stacksTo(1));
4748
this.tier = tier;
4849
}
@@ -100,7 +101,7 @@ public InteractionResultHolder<ItemStack> use(Level level, Player player, Intera
100101
}
101102

102103

103-
public static ItemStack ifw_emptySuccessItem(ItemStack stack, Player player, IFWTiers tier) {
104+
public static ItemStack ifw_emptySuccessItem(ItemStack stack, Player player, IFWTier tier) {
104105
return !player.hasInfiniteMaterials() ? BucketHelper.emptyBucket(tier) : stack;
105106
}
106107

@@ -191,7 +192,7 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slotI
191192
}
192193

193194

194-
public IFWTiers tier() {
195+
public IFWTier tier() {
195196
return this.tier;
196197
}
197198
}

src/main/java/huix/infinity/common/world/item/IFWItems.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,21 @@ public class IFWItems {
2020

2121

2222

23+
public static final DeferredItem<Item> copper_fishing_rod =
24+
ITEMS.register("copper_fishing_rod", item -> new FishingRod(IFWTiers.COPPER, new Item.Properties()));
25+
public static final DeferredItem<Item> silver_fishing_rod =
26+
ITEMS.register("silver_fishing_rod", item -> new FishingRod(IFWTiers.SILVER, new Item.Properties()));
27+
public static final DeferredItem<Item> gold_fishing_rod =
28+
ITEMS.register("gold_fishing_rod", item -> new FishingRod(IFWTiers.GOLD, new Item.Properties()));
29+
public static final DeferredItem<Item> iron_fishing_rod =
30+
ITEMS.register("iron_fishing_rod", item -> new FishingRod(IFWTiers.IRON, new Item.Properties()));
31+
public static final DeferredItem<Item> ancient_mental_fishing_rod =
32+
ITEMS.register("ancient_mental_fishing_rod", item -> new FishingRod(IFWTiers.ANCIENT_METAL, new Item.Properties()));
33+
public static final DeferredItem<Item> mithril_fishing_rod =
34+
ITEMS.register("mithril_fishing_rod", item -> new FishingRod(IFWTiers.MITHRIL, new Item.Properties()));
35+
public static final DeferredItem<Item> adamantium_fishing_rod =
36+
ITEMS.register("adamantium_fishing_rod", item -> new FishingRod(IFWTiers.ADAMANTIUM, new Item.Properties()));
37+
2338
public static final DeferredItem<Item> copper_horse_armor =
2439
ITEMS.register("copper_horse_armor", item -> new AnimalArmorItem(IFWArmorMaterials.copper, AnimalArmorItem.BodyType.EQUESTRIAN, false, new Item.Properties().stacksTo(1)));
2540
public static final DeferredItem<Item> silver_horse_armor =
@@ -30,8 +45,6 @@ public class IFWItems {
3045
ITEMS.register("mithril_horse_armor", item -> new AnimalArmorItem(IFWArmorMaterials.mithril, AnimalArmorItem.BodyType.EQUESTRIAN, false, new Item.Properties().stacksTo(1)));
3146
public static final DeferredItem<Item> adamantium_horse_armor =
3247
ITEMS.register("adamantium_horse_armor", item -> new AnimalArmorItem(IFWArmorMaterials.adamantium, AnimalArmorItem.BodyType.EQUESTRIAN, false, new Item.Properties().stacksTo(1)));
33-
34-
3548
public static final DeferredItem<Item> copper_bucket =
3649
ITEMS.register("copper_bucket", item -> new IFWBucketItem(Fluids.EMPTY, IFWTiers.COPPER, new Item.Properties()));
3750
public static final DeferredItem<Item> water_copper_bucket =

0 commit comments

Comments
 (0)