Skip to content

Commit 8a02719

Browse files
committed
新增虎头湛金枪主动技能
1 parent 8cfa132 commit 8a02719

File tree

10 files changed

+74
-38
lines changed

10 files changed

+74
-38
lines changed

src/main/java/xyz/lisbammisakait/RelightTheThreePointStrategy.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package xyz.lisbammisakait;
22

33
import net.fabricmc.api.ModInitializer;
4-
54
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
65
import net.minecraft.entity.effect.StatusEffectInstance;
76
import net.minecraft.entity.effect.StatusEffects;

src/main/java/xyz/lisbammisakait/RelightTheThreePointStrategyClient.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
66
import net.minecraft.client.option.KeyBinding;
77
import net.minecraft.client.util.InputUtil;
8-
import net.minecraft.text.Text;
98
import org.lwjgl.glfw.GLFW;
109

1110
public class RelightTheThreePointStrategyClient implements ClientModInitializer {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package xyz.lisbammisakait.compoennt;
2+
3+
import com.mojang.serialization.Codec;
4+
import net.minecraft.component.ComponentType;
5+
import net.minecraft.registry.Registries;
6+
import net.minecraft.registry.Registry;
7+
import net.minecraft.util.Identifier;
8+
import xyz.lisbammisakait.RelightTheThreePointStrategy;
9+
10+
public class RtTPSComponents {
11+
protected static void initialize() {
12+
RelightTheThreePointStrategy.LOGGER.info("Registering {} components", RelightTheThreePointStrategy.MOD_ID);
13+
// Technically this method can stay empty, but some developers like to notify
14+
// the console, that certain parts of the mod have been successfully initialized
15+
}
16+
public static final ComponentType<Integer> COOLDOWN_TYPE = Registry.register(
17+
Registries.DATA_COMPONENT_TYPE,
18+
Identifier.of(RelightTheThreePointStrategy.MOD_ID, "cooldown"),
19+
ComponentType.<Integer>builder().codec(Codec.INT).build()
20+
);
21+
}

src/main/java/xyz/lisbammisakait/item/FeilongduofengItem.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,9 @@
11
package xyz.lisbammisakait.item;
22

33

4-
import net.minecraft.entity.EquipmentSlot;
5-
import net.minecraft.entity.LivingEntity;
6-
import net.minecraft.item.ItemStack;
74
import net.minecraft.item.SwordItem;
85
import net.minecraft.item.ToolMaterial;
9-
import net.minecraft.item.tooltip.TooltipType;
10-
import net.minecraft.text.Text;
11-
import net.minecraft.util.ActionResult;
12-
import net.minecraft.util.Formatting;
13-
import net.minecraft.util.Hand;
14-
import net.minecraft.world.World;
15-
import xyz.lisbammisakait.RelightTheThreePointStrategy;
166

17-
import java.util.List;
187
import java.util.Random;
198

209
public class FeilongduofengItem extends SwordItem {

src/main/java/xyz/lisbammisakait/item/HutouzhanjinqiangItem.java

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
package xyz.lisbammisakait.item;
22

3-
import net.minecraft.block.Blocks;
4-
import net.minecraft.block.enums.BlockHalf;
53
import net.minecraft.entity.LivingEntity;
4+
import net.minecraft.entity.player.PlayerEntity;
65
import net.minecraft.item.ItemStack;
76
import net.minecraft.item.SwordItem;
87
import net.minecraft.item.ToolMaterial;
8+
import net.minecraft.item.tooltip.TooltipType;
99
import net.minecraft.network.packet.s2c.play.PositionFlag;
1010
import net.minecraft.server.world.ServerWorld;
11-
import net.minecraft.util.math.BlockPos;
11+
import net.minecraft.text.Text;
12+
import net.minecraft.util.ActionResult;
13+
import net.minecraft.util.Formatting;
14+
import net.minecraft.util.Hand;
1215
import net.minecraft.util.math.Vec3d;
13-
import net.minecraft.world.BlockView;
1416
import net.minecraft.world.World;
1517
import xyz.lisbammisakait.RelightTheThreePointStrategy;
18+
import xyz.lisbammisakait.compoennt.RtTPSComponents;
1619
import xyz.lisbammisakait.tools.SafeTp;
1720

1821
import java.util.Collections;
19-
import java.util.EnumSet;
22+
import java.util.List;
2023
import java.util.Set;
2124

2225

2326

2427
public class HutouzhanjinqiangItem extends SwordItem {
28+
public static final int COOLDOWN = 30;
2529
public HutouzhanjinqiangItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
2630
super(material, attackDamage, attackSpeed, settings);
2731
}
@@ -62,17 +66,25 @@ public boolean postHit(ItemStack stack, LivingEntity target, LivingEntity attack
6266
RelightTheThreePointStrategy.LOGGER.info("攻击者传送到目标位置");
6367
return super.postHit(stack, target, attacker);
6468
}
65-
// private boolean isSafeLocation(BlockView world, BlockPos pos) {
66-
// if (world.getBlockState(pos).isAir() && world.getBlockState(pos.up()).isAir()) {
67-
// return true;
68-
// }
69-
// if(world.getBlockState(pos).getBlock() == Blocks.LIGHT && world.getBlockState(pos.up()).getBlock() == Blocks.LIGHT){
70-
// return true;
71-
// }
72-
// return false;
73-
// }
74-
75-
76-
69+
@Override
70+
public void appendTooltip(ItemStack stack, TooltipContext context, List<Text> tooltip, TooltipType type) {
71+
if (stack.contains(RtTPSComponents.COOLDOWN_TYPE)) {
72+
//int rct = stack.get(RtTPSComponents.COOLDOWN_TYPE);
73+
int rct = stack.getOrDefault(RtTPSComponents.COOLDOWN_TYPE, COOLDOWN);
74+
tooltip.add(Text.translatable("item.relight-the-three-point-strategy.hutouzhanjinqiang.remaining-cooldown-time", rct).formatted(Formatting.GOLD));
75+
}
76+
}
7777

78+
@Override
79+
public ActionResult use(World world, PlayerEntity user, Hand hand) {
80+
ItemStack stack = user.getStackInHand(hand);
81+
// Don't do anything on the client
82+
if (world.isClient()) {
83+
return ActionResult.SUCCESS;
84+
}
85+
// Read the current count and increase it by one
86+
int count = stack.getOrDefault(RtTPSComponents.COOLDOWN_TYPE, 0);
87+
stack.set(RtTPSComponents.COOLDOWN_TYPE, ++count);
88+
return ActionResult.SUCCESS;
89+
}
7890
}

src/main/java/xyz/lisbammisakait/item/ModItems.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
package xyz.lisbammisakait.item;
22

33
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
4-
import net.minecraft.item.*;
5-
import net.minecraft.text.Text;
6-
import xyz.lisbammisakait.RelightTheThreePointStrategy;
74
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
5+
import net.minecraft.item.Item;
6+
import net.minecraft.item.ItemGroup;
7+
import net.minecraft.item.ItemStack;
8+
import net.minecraft.item.ToolMaterial;
89
import net.minecraft.registry.Registries;
910
import net.minecraft.registry.Registry;
1011
import net.minecraft.registry.RegistryKey;
1112
import net.minecraft.registry.RegistryKeys;
13+
import net.minecraft.text.Text;
1214
import net.minecraft.util.Identifier;
15+
import xyz.lisbammisakait.RelightTheThreePointStrategy;
1316
import xyz.lisbammisakait.Skill.YinFengLaiXiangSkill;
17+
import xyz.lisbammisakait.compoennt.RtTPSComponents;
1418

15-
import java.util.function.Function;
1619
public class ModItems {
1720
//创建技能物品组
1821
public static final RegistryKey<ItemGroup> SKILL_GROUP_KEY = RegistryKey.of(Registries.ITEM_GROUP.getKey(), Identifier.of(RelightTheThreePointStrategy.MOD_ID, "skill_group"));
@@ -38,7 +41,7 @@ public class ModItems {
3841
public static final Item FEILONGDUOFENG = register(new FeilongduofengItem(ToolMaterial.GOLD, 4f, 1f, new Item.Settings().registryKey(FEILONGDUOFENG_KEY)), FEILONGDUOFENG_KEY);
3942
//注册虎头湛金枪
4043
public static final RegistryKey<Item> HUTOUZHANJINQIANG_KEY = RegistryKey.of(RegistryKeys.ITEM, Identifier.of(RelightTheThreePointStrategy.MOD_ID, "hutouzhanjinqiang"));
41-
public static final Item HUTOUZHANJINQIANG = register(new HutouzhanjinqiangItem(ToolMaterial.GOLD, 6f, 1f, new Item.Settings().registryKey(HUTOUZHANJINQIANG_KEY)), HUTOUZHANJINQIANG_KEY);
44+
public static final Item HUTOUZHANJINQIANG = register(new HutouzhanjinqiangItem(ToolMaterial.GOLD, 6f, 1f, new Item.Settings().registryKey(HUTOUZHANJINQIANG_KEY).component(RtTPSComponents.COOLDOWN_TYPE,HutouzhanjinqiangItem.COOLDOWN)), HUTOUZHANJINQIANG_KEY);
4245
//-----------------------------------------------------------------------------------------------
4346
//注册引凤来翔
4447
public static final RegistryKey<Item> YINFENGLAIXIANG_KEY = RegistryKey.of(RegistryKeys.ITEM, Identifier.of(RelightTheThreePointStrategy.MOD_ID, "yinfenglaixiang"));
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"model": {
3+
"type": "minecraft:model",
4+
"model": "relight-the-three-point-strategy:item/shenweihutouzhanjinqiang"
5+
}
6+
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
2-
"item.relight-the-three-point-strategy.feilongduofeng": "feilongduofeng",
3-
"item.relight-the-three-point-strategy.hutouzhanjinqiang": "hutouzhanjinqiang",
2+
"item.relight-the-three-point-strategy.feilongduofeng": "FeiLongDuoFeng",
3+
"item.relight-the-three-point-strategy.hutouzhanjinqiang": "HuTouZhanJinQiang",
44
"key.RelightTheThreePointStrategy.SkillA": "SkillA",
55
"key.RelightTheThreePointStrategy.SkillB": "SkillB",
6-
"category.RelightTheThreePointStrategy.SkillGroup": "Skill Group"
6+
"category.RelightTheThreePointStrategy.SkillGroup": "Skill Group",
7+
"item.relight-the-three-point-strategy.hutouzhanjinqiang.remaining-cooldown-time": "Remaining Cooldown Time: %1$s s"
78
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "item/handheld",
3+
"textures": {
4+
"layer0": "relight-the-three-point-strategy:item/shenweihutouzhanjinqiang"
5+
}
6+
}
718 Bytes
Loading

0 commit comments

Comments
 (0)