Skip to content

Commit 0ef85f3

Browse files
committed
Bug修复
1 parent 318c2a7 commit 0ef85f3

5 files changed

Lines changed: 45 additions & 23 deletions

File tree

src/generated/resources/assets/ifw/lang/en_us.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,5 +368,7 @@
368368
"persistent_eff.ifw.fear_of_undead": "FearOfUndead",
369369
"persistent_eff.ifw.fear_of_wolves": "FearOfWolves",
370370
"persistent_eff.ifw.none": "Empty",
371-
"tooltip.infinity.gem.xp": "+%s Experience Value"
371+
"tooltip.infinity.gem.xp": "+%s Experience Value",
372+
"item.ifw.placeBucketAsSource": "Ctrl:Consume 100 EXP to place as source",
373+
"item.ifw.chanceOfBucketMelting": "%d%% Chance of melting"
372374
}

src/generated/resources/assets/ifw/lang/zh_cn.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,8 @@
242242
"item.ifw.obsidian_shard": "黑曜石碎片",
243243
"item.ifw.onion": "洋葱",
244244
"item.ifw.orange": "橘子",
245+
"item.ifw.placeBucketAsSource": "Ctrl: 消耗100XP放置无限源",
246+
"item.ifw.chanceOfBucketMelting": "有%d%%的几率融毁",
245247
"item.ifw.porridge": "燕麦粥",
246248
"item.ifw.powder_snow_adamantium_bucket": "艾德曼细雪桶",
247249
"item.ifw.powder_snow_ancient_metal_bucket": "远古金属细雪桶",

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import huix.infinity.extension.func.BucketPickupExtension;
55
import huix.infinity.util.BucketHelper;
66
import huix.infinity.util.WorldHelper;
7+
import net.minecraft.ChatFormatting;
78
import net.minecraft.advancements.CriteriaTriggers;
89
import net.minecraft.client.gui.screens.Screen;
910
import net.minecraft.core.BlockPos;
1011
import net.minecraft.core.Direction;
1112
import net.minecraft.core.particles.ParticleTypes;
13+
import net.minecraft.network.chat.Component;
1214
import net.minecraft.server.level.ServerPlayer;
1315
import net.minecraft.sounds.SoundEvents;
1416
import net.minecraft.sounds.SoundSource;
@@ -21,6 +23,7 @@
2123
import net.minecraft.world.item.BucketItem;
2224
import net.minecraft.world.item.ItemStack;
2325
import net.minecraft.world.item.ItemUtils;
26+
import net.minecraft.world.item.TooltipFlag;
2427
import net.minecraft.world.level.ClipContext;
2528
import net.minecraft.world.level.Level;
2629
import net.minecraft.world.level.block.Block;
@@ -38,6 +41,7 @@
3841

3942
import javax.annotation.Nullable;
4043
import java.util.HashMap;
44+
import java.util.List;
4145
import java.util.Optional;
4246

4347
public class IFWBucketItem extends BucketItem {
@@ -190,7 +194,13 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slotI
190194
}
191195
}
192196

193-
197+
@Override
198+
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) {
199+
{
200+
tooltipComponents.add(Component.translatable("item.ifw.placeBucketAsSource", this.content).withStyle(ChatFormatting.BLUE));
201+
}
202+
super.appendHoverText(stack, context, tooltipComponents, tooltipFlag);
203+
}
194204
public IFWTier tier() {
195205
return this.tier;
196206
}

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

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,19 @@ public static ItemAttributeModifiers createAttributes(IFWTier tier, int damage,
5555

5656
public static ItemAttributeModifiers createAttributes(IFWTier tier, float damage, float speed) {
5757
return ItemAttributeModifiers.builder()
58-
.add(
59-
Attributes.ATTACK_DAMAGE,
60-
new AttributeModifier(
61-
BASE_ATTACK_DAMAGE_ID, damage + tier.getAttackDamageBonus(), AttributeModifier.Operation.ADD_VALUE
62-
),
63-
EquipmentSlotGroup.MAINHAND
64-
)
65-
.add(
66-
Attributes.ATTACK_SPEED,
67-
new AttributeModifier(BASE_ATTACK_SPEED_ID, speed, AttributeModifier.Operation.ADD_VALUE),
68-
EquipmentSlotGroup.MAINHAND
69-
)
70-
.build();
58+
.add(
59+
Attributes.ATTACK_DAMAGE,
60+
new AttributeModifier(
61+
BASE_ATTACK_DAMAGE_ID, damage + tier.getAttackDamageBonus(), AttributeModifier.Operation.ADD_VALUE
62+
),
63+
EquipmentSlotGroup.MAINHAND
64+
)
65+
.add(
66+
Attributes.ATTACK_SPEED,
67+
new AttributeModifier(BASE_ATTACK_SPEED_ID, speed, AttributeModifier.Operation.ADD_VALUE),
68+
EquipmentSlotGroup.MAINHAND
69+
)
70+
.build();
7171
}
7272

7373
@Override
@@ -85,8 +85,8 @@ public boolean canPerformAction(ItemStack stack, net.neoforged.neoforge.common.I
8585
return net.neoforged.neoforge.common.ItemAbilities.DEFAULT_SWORD_ACTIONS.contains(itemAbility);
8686
}
8787

88-
// @Override
89-
// public float getReachBonus() {
90-
// return 0.75F;
91-
// }
88+
@Override
89+
public float getReachBonus() {
90+
return 0.75F;
91+
}
9292
}

src/main/java/huix/infinity/mixin/world/food/FoodDataMixin.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -334,14 +334,22 @@ private void clearTickTimer() {
334334
}
335335

336336
@Unique
337-
public float getWetnessAndMalnourishmentHungerMultiplier(Player player) {
337+
private float getWetnessAndMalnourishmentHungerMultiplier(Player player) {
338338
Level level = player.level();
339339
float rain_factor = level.isRaining() ? (level.isThundering() ? 0.5F : 0.25F) : 0.0F;
340-
float immersion_factor = level.getBlockState(player.getOnPos().above(1)).getFluidState().is(Tags.Fluids.WATER) ? 0.5F
341-
: (level.getBlockState(player.getOnPos()).getFluidState().is(Tags.Fluids.WATER) ? 0.25F : 0.0F);
340+
float immersion_factor = 0.0F;
341+
if (!player.isPassenger() && player.isInWater()) {
342+
immersion_factor = 0.5F;
343+
} else if (!player.isPassenger()) {
344+
if (level.getBlockState(player.getOnPos()).getFluidState().is(Tags.Fluids.WATER)) {
345+
immersion_factor = 0.25F;
346+
}
347+
}
348+
342349
float wetness_factor = Math.max(rain_factor, immersion_factor);
343350

344-
if (level.isRaining() && !level.isThundering() && immersion_factor == 0.25F) wetness_factor += 0.125F;
351+
if (level.isRaining() && !level.isThundering() && immersion_factor == 0.25F)
352+
wetness_factor += 0.125F;
345353

346354
if (level.getBiome(player.getOnPos()).is(Tags.Biomes.IS_COLD))
347355
wetness_factor *= 2.0F;

0 commit comments

Comments
 (0)