2024/11/05
Expend Item Capacity
This commit is contained in:
parent
7d0ae3beef
commit
7f8b24beb8
|
|
@ -1,4 +1,4 @@
|
|||
# 版本 0.0.3.9.7.5 提前介绍c[最终版本对于0.0.4] 【注意:本解釋簡繁混寫,因爲趕時間,所以並不怎麽規範,請諒解】
|
||||
# 版本 0.0.3.9.8 提前介绍c[最终版本对于0.0.4] 【注意:本解釋簡繁混寫,因爲趕時間,所以並不怎麽規範,請諒解】
|
||||
## 简介
|
||||
现在开始你可以用拴绳拴住玩家,也可以拴住自己了,不如尝试拴住彼此来通关我的世界吧(
|
||||
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
获得飞一样的感觉(操作不当可能会摔死
|
||||
+ 拴绳箭可以拴其它可拴LivingEntity了(
|
||||
### 紫水晶剪刀
|
||||
剪断拴绳链接,在发射器里可使用
|
||||
剪断拴绳链接,在发射器里可使用,对自己也可使用,但耗费更多耐久
|
||||
#### 射中实体时,会将射击者拴绳绑定在改实体上(该实体父类必须是有LivingEntity类型),同时拴绳箭会以普通的箭矢掉落
|
||||
#### 射中栅栏时,会自动将玩家拴在上面 ,同时拴绳箭会以普通的箭矢掉落
|
||||
#### 在地面上的箭可以通过按Shift靠近来捡起,如果捡起实体为发射箭矢玩家,则直接获取拴绳箭矢,如果捡起者为非发射者则成为发送者的拴绳持有者,并获得普通箭矢
|
||||
|
|
@ -57,4 +57,4 @@
|
|||
|
||||
* `LP.KeepLeashNotDropTime` - 此规则决定,当拴绳关系创建时一段时间里,即是距离已经达到了断裂距离,也保持其不断裂 [默认值: 240ticks ,可设置范围[80, 1200]ticks]
|
||||
|
||||
* `LP.DefaultTalkArea` - 此规则决定,聊天半径最小正值
|
||||
* `LP.DefaultTalkArea` - 此规则决定,聊天半径最小正值 [默认值: -1]
|
||||
|
|
@ -59,7 +59,6 @@ runs {
|
|||
|
||||
server {
|
||||
systemProperty 'forge.enabledGameTestNamespaces', project.mod_id
|
||||
programArgument '--nogui'
|
||||
}
|
||||
|
||||
// This run config launches GameTestServer and runs all registered gametests, then exits.
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ mod_name=Leashed Player
|
|||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||
mod_license=MIT
|
||||
# The mod version. See https://semver.org/
|
||||
mod_version=0.0.3.9.7.5
|
||||
mod_version=0.0.3.9.8
|
||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
||||
# This should match the base package used for the mod sources.
|
||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// 1.21 2024-11-03T11:56:02.1200385 Item Models: leashedplayer
|
||||
// 1.21 2024-11-05T22:44:13.1744327 Item Models: leashedplayer
|
||||
766c487fbf0c59e9045eeaf81daf583eb679b0e1 assets/leashedplayer/models/item/amethyst_shears.json
|
||||
5846df9d85726428905701120ef34c9324c20faf assets/leashedplayer/models/item/bow_lra_pulling_0.json
|
||||
845a7316b86e26f88c6932d4ef2656126503727a assets/leashedplayer/models/item/bow_lra_pulling_1.json
|
||||
|
|
@ -7,4 +7,5 @@
|
|||
bb0d76077719c83c8a8bd4346a24ea1766175125 assets/leashedplayer/models/item/fabric.json
|
||||
63ec6c618a3a23eab4cab9c52d7d3250de9b516e assets/leashedplayer/models/item/kid_spawn_egg.json
|
||||
114d3cc5832ef047403114504483c6f3ea07e77c assets/leashedplayer/models/item/leash_rope_arrow.json
|
||||
39b631c9dacf0481bfe8b84c7e7dd5841baf4ff7 assets/leashedplayer/models/item/neoforge.json
|
||||
c4748995a5fe190d20e3bd16f4b2244164ec0f83 assets/leashedplayer/models/item/spectral_leash_rope_arrow.json
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
// 1.21 2024-10-23T13:15:06.1082841 Registries
|
||||
// 1.21 2024-11-05T23:00:18.5223698 Registries
|
||||
f2536789df7f06362718a59ba4a96890e2f9b8aa data/leashedplayer/jukebox_song/what_does_the_fox_say.json
|
||||
6f79a674215db9f9d2820b1c7f052c60ce729fee data/leashedplayer/painting_variant/group_photo.json
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
// 1.21 2024-11-03T11:56:02.1210394 Languages: en_us for mod: leashedplayer
|
||||
e37115e9e6433f0d2a2748efc9749b10204119c7 assets/leashedplayer/lang/en_us.json
|
||||
// 1.21 2024-11-05T22:44:13.1744327 Languages: en_us for mod: leashedplayer
|
||||
61c2bbb33f4814254ffdcd122aab49c0cdaf3d83 assets/leashedplayer/lang/en_us.json
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
// 1.21 2024-11-05T22:44:13.1754334 Sound Definitions
|
||||
81f1cc9f404c2670bf7cc679107177ffb0b48c77 assets/leashedplayer/sounds.json
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
// 1.21 2024-11-03T11:56:02.119039 Languages: zh_cn for mod: leashedplayer
|
||||
bc7e4095ad9239d38aff0e14e4eb8be3903980ec assets/leashedplayer/lang/zh_cn.json
|
||||
// 1.21 2024-11-05T22:44:13.1704334 Languages: zh_cn for mod: leashedplayer
|
||||
c92526831cd149866543a1c10dd6a2b59fe1b36b assets/leashedplayer/lang/zh_cn.json
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
// 1.21 2024-11-03T11:56:02.1180379 Languages: zh_tw for mod: leashedplayer
|
||||
a4e3c3350a1a38b98fa7d7c0c2305a2c79440a50 assets/leashedplayer/lang/zh_tw.json
|
||||
// 1.21 2024-11-05T22:44:13.1684263 Languages: zh_tw for mod: leashedplayer
|
||||
12fe78d40c45b07ceb0b72ee9439fa132649e670 assets/leashedplayer/lang/zh_tw.json
|
||||
|
|
|
|||
|
|
@ -35,11 +35,13 @@
|
|||
"item.leashedplayer.fabric": "Fabric",
|
||||
"item.leashedplayer.kid_spawn_egg": "Kid Spawn Egg",
|
||||
"item.leashedplayer.leash_rope_arrow": "Leash Rope Arrow",
|
||||
"item.leashedplayer.neoforge": "NeoForge",
|
||||
"item.leashedplayer.spectral_leash_rope_arrow": "Spectral Leash Rope Arrow",
|
||||
"item.minecraft.lingering_potion.effect.no_leash": "Splash No Leash Potion",
|
||||
"item.minecraft.potion.effect.no_leash": "No Leash Potion",
|
||||
"item.minecraft.splash_potion.effect.no_leash": "Splash No Leash Potion",
|
||||
"item.minecraft.tipped_arrow.effect.no_leash": "Arrow of No Leash",
|
||||
"jukebox_song.leashedplayer.what_does_the_fox_say": "What does the fox say?",
|
||||
"leashedplayer.chat.none_heard_you": "Nobody heard your message",
|
||||
"leashedplayer.command.chat.message.talkarea.current_config": "%s 's §6TalkArea Current§7:§e %d §6blocks §f(§aPrefence§7:§e %d §ablocks§f)§r",
|
||||
"leashedplayer.command.chat.message.talkarea.preference.set": "%s 's §atalk area preference set to §e%d§a blocks!§r",
|
||||
|
|
@ -67,5 +69,6 @@
|
|||
"leashedplayer.command.motion.message.multiply.successful": "§bMultiply Successfully.§a%s§7:§f[§eVec§7: §a(§f%f§7,§f%f§7,§f%f§a)§f]§r",
|
||||
"leashedplayer.command.motion.message.setter.successful": "§bSet Successfully.§a%s§7:§f[§eVec§7: §a(§f%f§7,§f%f§7,§f%f§a)§f]§r",
|
||||
"painting.leashedplayer.group_photo.author": "§9Leisure §4Time §eDock§r",
|
||||
"painting.leashedplayer.group_photo.title": "§dGroup Photo §7[§6memorable§7]§r"
|
||||
"painting.leashedplayer.group_photo.title": "§dGroup Photo §7[§6memorable§7]§r",
|
||||
"sound.leashedplayer.subtitle.what_does_the_fox_say": "Great Chu will rise again! Chen She will be king!"
|
||||
}
|
||||
|
|
@ -35,11 +35,13 @@
|
|||
"item.leashedplayer.fabric": "Fabric",
|
||||
"item.leashedplayer.kid_spawn_egg": "小孩生成蛋",
|
||||
"item.leashedplayer.leash_rope_arrow": "拴绳箭",
|
||||
"item.leashedplayer.neoforge": "NeoForge",
|
||||
"item.leashedplayer.spectral_leash_rope_arrow": "拴绳光灵箭",
|
||||
"item.minecraft.lingering_potion.effect.no_leash": "滞留型禁拴药水",
|
||||
"item.minecraft.potion.effect.no_leash": "禁拴药水",
|
||||
"item.minecraft.splash_potion.effect.no_leash": "喷溅型禁拴药水",
|
||||
"item.minecraft.tipped_arrow.effect.no_leash": "禁拴之箭",
|
||||
"jukebox_song.leashedplayer.what_does_the_fox_say": "狐狸是怎么叫的?",
|
||||
"leashedplayer.chat.none_heard_you": "沒有人接收到你的消息",
|
||||
"leashedplayer.command.chat.message.talkarea.current_config": "%s§6目前聊天区域可见半径设置§7:§e %d §6格 §f(§a默认值§7:§e %d §a格§f)§r",
|
||||
"leashedplayer.command.chat.message.talkarea.preference.set": "%s§a默认聊天区域可见消息半径设置为 §e%d §a格!§r",
|
||||
|
|
@ -67,5 +69,6 @@
|
|||
"leashedplayer.command.motion.message.multiply.successful": "§b倍乘成功.§a%s§7:§f[§e加速度§7:§a(§f%f§7,§f%f§7,§f%f§a)§f]§r",
|
||||
"leashedplayer.command.motion.message.setter.successful": "§b设置成功.§a%s§7:§f[§e加速度§7:§a(§f%f§7,§f%f§7,§f%f§a)§f]§r",
|
||||
"painting.leashedplayer.group_photo.author": "§9闲趣§4时§e坞§r",
|
||||
"painting.leashedplayer.group_photo.title": "§d集体照 §7[§6纪念§7]§r"
|
||||
"painting.leashedplayer.group_photo.title": "§d集体照 §7[§6纪念§7]§r",
|
||||
"sound.leashedplayer.subtitle.what_does_the_fox_say": "大楚兴~ 陈胜王~~"
|
||||
}
|
||||
|
|
@ -35,11 +35,13 @@
|
|||
"item.leashedplayer.fabric": "Fabric",
|
||||
"item.leashedplayer.kid_spawn_egg": "小孩生成蛋",
|
||||
"item.leashedplayer.leash_rope_arrow": "拴繩箭",
|
||||
"item.leashedplayer.neoforge": "NeoForge",
|
||||
"item.leashedplayer.spectral_leash_rope_arrow": "拴繩光靈箭",
|
||||
"item.minecraft.lingering_potion.effect.no_leash": "滯留型禁拴藥水",
|
||||
"item.minecraft.potion.effect.no_leash": "禁拴藥水",
|
||||
"item.minecraft.splash_potion.effect.no_leash": "噴濺型禁拴藥水",
|
||||
"item.minecraft.tipped_arrow.effect.no_leash": "禁拴之箭",
|
||||
"jukebox_song.leashedplayer.what_does_the_fox_say": "狐狸是怎麽叫的?",
|
||||
"leashedplayer.chat.none_heard_you": "無人接收到你的訊息",
|
||||
"leashedplayer.command.chat.message.talkarea.current_config": "%s§6目前可見訊息聊天半徑設置§7:§e%d §6格 §f(§a默認值§7:§e%d §a格§f)§r",
|
||||
"leashedplayer.command.chat.message.talkarea.preference.set": "%s§a默認聊天區域可見訊息半徑設置為 §e%d §a格!§r",
|
||||
|
|
@ -67,5 +69,6 @@
|
|||
"leashedplayer.command.motion.message.multiply.successful": "§b倍乘成功.§a%s§7:§f[§e加速度§7:§a(§f%f§7,§f%f§7,§f%f§a)§f]§r",
|
||||
"leashedplayer.command.motion.message.setter.successful": "§b設置成功.§a%s§7:§f[§e加速度§7:§a(§f%f§7,§f%f§7,§f%f§a)§f]§r",
|
||||
"painting.leashedplayer.group_photo.author": "§9閑趣§4時§e塢§r",
|
||||
"painting.leashedplayer.group_photo.title": "§d集體照 §7[§6紀念§7]§r"
|
||||
"painting.leashedplayer.group_photo.title": "§d集體照 §7[§6紀念§7]§r",
|
||||
"sound.leashedplayer.subtitle.what_does_the_fox_say": "大楚興~ 陳勝王~~"
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "leashedplayer:item/neoforge"
|
||||
}
|
||||
}
|
||||
8
src/generated/resources/assets/leashedplayer/sounds.json
Normal file
8
src/generated/resources/assets/leashedplayer/sounds.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"music/what_does_the_fox_say": {
|
||||
"sounds": [
|
||||
"leashedplayer:music/what_does_the_fox_say"
|
||||
],
|
||||
"subtitle": "sound.leashedplayer.subtitle.what_does_the_fox_say"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"comparator_output": 15,
|
||||
"description": {
|
||||
"translate": "jukebox_song.leashedplayer.what_does_the_fox_say"
|
||||
},
|
||||
"length_in_seconds": 121.0,
|
||||
"sound_event": "leashedplayer:what_does_the_fox_say"
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ import com.r3944realms.leashedplayer.content.entities.ModEntityRegister;
|
|||
import com.r3944realms.leashedplayer.content.items.ModCreativeTab;
|
||||
import com.r3944realms.leashedplayer.content.items.ModItemRegister;
|
||||
import com.r3944realms.leashedplayer.content.paintings.ModPaintingsRegister;
|
||||
import com.r3944realms.leashedplayer.content.sounds.ModSoundRegister;
|
||||
import com.r3944realms.leashedplayer.utils.Util;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.fml.ModLoadingContext;
|
||||
|
|
@ -23,6 +24,7 @@ public class LeashedPlayer {
|
|||
public LeashedPlayer(IEventBus event) {
|
||||
ModItemRegister.register(event);
|
||||
ModPaintingsRegister.register(event);
|
||||
ModSoundRegister.register(event);
|
||||
ModEffectRegister.register(event);
|
||||
ModPotionRegister.register(event);
|
||||
ModEntityRegister.register(event);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@ import net.minecraft.client.model.HumanoidModel;
|
|||
import net.minecraft.client.model.PlayerModel;
|
||||
import net.minecraft.client.model.geom.ModelLayers;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.entity.*;
|
||||
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||
import net.minecraft.client.renderer.entity.HumanoidMobRenderer;
|
||||
import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
|
|
|
|||
|
|
@ -6,9 +6,13 @@ import com.r3944realms.leashedplayer.content.items.type.LeadBreakerItem;
|
|||
import com.r3944realms.leashedplayer.content.items.type.LeashRopeArrowItem;
|
||||
import com.r3944realms.leashedplayer.content.items.type.SpectralLeashRopeArrowItem;
|
||||
import com.r3944realms.leashedplayer.content.items.type.TestItem;
|
||||
import com.r3944realms.leashedplayer.datagen.provider.attributes.ModJukeboxSongs;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.JukeboxSong;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.neoforge.common.DeferredSpawnEggItem;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
|
@ -35,6 +39,11 @@ public class ModItemRegister {
|
|||
.stacksTo(1)));
|
||||
public static final Supplier<Item> KID_SPAWN_EGG = ModItemRegister.register("kid_spawn_egg",
|
||||
() -> new DeferredSpawnEggItem(ModEntityRegister.KID, 0x3F4F1F, 0x3D0D4D, new Item.Properties()));
|
||||
public static final Supplier<Item> NEOFORGE = ModItemRegister.register("neoforge",
|
||||
() -> new Item(DistProperties(ModJukeboxSongs.FOX_MUSIC)));
|
||||
public static Item.Properties DistProperties(ResourceKey<JukeboxSong> song) {
|
||||
return new Item.Properties().stacksTo(1).rarity(Rarity.RARE).jukeboxPlayable(song);
|
||||
}
|
||||
public static Supplier<Item> register(String name, Supplier<Item> supplier) {
|
||||
return register(name, supplier, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,18 +2,17 @@ package com.r3944realms.leashedplayer.content.items.type;
|
|||
|
||||
import com.r3944realms.leashedplayer.content.entities.LeashRopeArrow;
|
||||
import com.r3944realms.leashedplayer.modInterface.PlayerLeashable;
|
||||
import net.minecraft.core.HolderGetter;
|
||||
import net.minecraft.core.HolderSet;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.InteractionResultHolder;
|
||||
import net.minecraft.world.entity.Leashable;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.ShearsItem;
|
||||
import net.minecraft.world.item.component.Tool;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
|
@ -63,4 +62,18 @@ public class LeadBreakerItem extends ShearsItem {
|
|||
return InteractionResult.PASS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull InteractionResultHolder<ItemStack> use(@NotNull Level pLevel, @NotNull Player pPlayer, @NotNull InteractionHand pUsedHand) {
|
||||
if (!pLevel.isClientSide && pUsedHand == InteractionHand.MAIN_HAND) {
|
||||
PlayerLeashable playerLeashable = (PlayerLeashable) pPlayer;
|
||||
if (playerLeashable.isLeashed()) {
|
||||
if(!(playerLeashable.getLeashHolder() instanceof LeashRopeArrow)) {
|
||||
playerLeashable.dropLeash(true, true);
|
||||
pPlayer.getItemInHand(pUsedHand).hurtAndBreak(10, pPlayer, LivingEntity.getSlotForHand(pUsedHand));
|
||||
return InteractionResultHolder.success(pPlayer.getItemInHand(pUsedHand));
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.use(pLevel, pPlayer, pUsedHand);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.r3944realms.leashedplayer.content.sounds;
|
||||
|
||||
import com.r3944realms.leashedplayer.LeashedPlayer;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.neoforge.registries.DeferredHolder;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ModSoundRegister {
|
||||
public static DeferredRegister<SoundEvent> SOUNDS = DeferredRegister.create(BuiltInRegistries.SOUND_EVENT, LeashedPlayer.MOD_ID);
|
||||
public static ResourceLocation RL_FOX_MUSIC = ResourceLocation.fromNamespaceAndPath(LeashedPlayer.MOD_ID, "music/what_does_the_fox_say");
|
||||
public static final DeferredHolder<SoundEvent, SoundEvent> FOX_MUSIC =
|
||||
ModSoundRegister.register("what_does_the_fox_say", () -> SoundEvent.createFixedRangeEvent(
|
||||
RL_FOX_MUSIC,
|
||||
128
|
||||
));
|
||||
|
||||
public static DeferredHolder<SoundEvent, SoundEvent> register(String name, Supplier<SoundEvent> supplier){
|
||||
return SOUNDS.register(name, supplier);
|
||||
|
||||
}
|
||||
public static void register(IEventBus modBus){
|
||||
SOUNDS.register(modBus);
|
||||
}
|
||||
public static String getJukeboxSongTranslateKey(String name) {
|
||||
return "jukebox_song." + LeashedPlayer.MOD_ID + "." + name;
|
||||
}
|
||||
public static String getSubTitleTranslateKey(String name) {
|
||||
return "sound." + LeashedPlayer.MOD_ID + ".subtitle." + name;
|
||||
}
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ import com.r3944realms.leashedplayer.content.gamerules.Server.TeleportWithLeashe
|
|||
import com.r3944realms.leashedplayer.content.items.ModCreativeTab;
|
||||
import com.r3944realms.leashedplayer.content.items.ModItemRegister;
|
||||
import com.r3944realms.leashedplayer.content.items.type.LeashRopeArrowItem;
|
||||
import com.r3944realms.leashedplayer.content.sounds.ModSoundRegister;
|
||||
import com.r3944realms.leashedplayer.datagen.provider.attributes.ModPaintingVariants;
|
||||
import com.r3944realms.leashedplayer.utils.Enum.LanguageEnum;
|
||||
import com.r3944realms.leashedplayer.utils.Enum.ModPartEnum;
|
||||
|
|
@ -32,6 +33,7 @@ public enum ModLangKeyValue {
|
|||
TEST_FABRIC_ITEM(ModItemRegister.FABRIC, ModPartEnum.ITEM, "Fabric", "Fabric", "Fabric", true),
|
||||
AMETHYST_SHEARS(ModItemRegister.AMETHYST_SHEARS, ModPartEnum.ITEM, "Amethyst Shears", "紫水晶剪刀", "紫水晶剪刀", true),
|
||||
KID_SPAWN_EGG(ModItemRegister.KID_SPAWN_EGG, ModPartEnum.ITEM, "Kid Spawn Egg", "小孩生成蛋", "小孩生成蛋", false),
|
||||
NEO_FORGE(ModItemRegister.NEOFORGE, ModPartEnum.ITEM, "NeoForge", "NeoForge", "NeoForge", true),
|
||||
//ITEM_DESC
|
||||
DESC_ITEM_LEASH_ROPE_ARROW(LeashRopeArrowItem.descKey, ModPartEnum.DESCRIPTION, "Arrows with ropes attached?","带有拴绳的箭矢?", "帶有拴繩的箭矢?", false),
|
||||
//PAINTING
|
||||
|
|
@ -41,6 +43,9 @@ public enum ModLangKeyValue {
|
|||
LEASH_ROPE_ARROW(ModEntityRegister.getEntityNameKey("leash_rope_arrow"), ModPartEnum.ENTITY, "Leash Rope Arrow", "拴绳箭", "拴繩箭", false),
|
||||
SPECTRAL_LEASH_ROPE_ARROW(ModEntityRegister.getEntityNameKey("spectral_leash_rope_arrow"), ModPartEnum.ENTITY, "Spectral Leash Rope Arrow", "拴绳光灵箭", "拴繩光靈箭", false),
|
||||
kID(ModEntityRegister.getEntityNameKey("kid_player"), ModPartEnum.ENTITY, "Kid", "小孩", "小孩", "幼", false),
|
||||
//DIST
|
||||
ST_WHAT_DOES_THE_FOX_SAY(ModSoundRegister.getSubTitleTranslateKey("what_does_the_fox_say"), ModPartEnum.TITLE, "Great Chu will rise again! Chen She will be king!", "大楚兴~ 陈胜王~~", "大楚興~ 陳勝王~~", false),
|
||||
JB_WHAT_DOES_THE_FOX_SAY(ModSoundRegister.getJukeboxSongTranslateKey("what_does_the_fox_say"), ModPartEnum.DESCRIPTION, "What does the fox say?", "狐狸是怎么叫的?", "狐狸是怎麽叫的?", false),
|
||||
//CREATIVE_TAB
|
||||
CREATIVE_TAB_NAME(ModCreativeTab.getCreativeMod(LEASHED_PLAYER_ITEM), ModPartEnum.CREATIVE_TAB, "Leashed Player","可拴玩家", "可拴玩家", false),
|
||||
//COMMAND_MESSAGE
|
||||
|
|
@ -114,7 +119,6 @@ public enum ModLangKeyValue {
|
|||
NO_LEASH_ARROW(ModPotionRegister.getTippedArrowNameKey("no_leash"), ModPartEnum.ITEM, "Arrow of No Leash", "禁拴之箭", "禁拴之箭", false),
|
||||
//INFO_MESSAGE
|
||||
CHAT_NONE_HEARD_YOU(DefaultTalkArea.CHAT_NONE_HEARD_YOU, ModPartEnum.MESSAGE, "Nobody heard your message", "沒有人接收到你的消息", "無人接收到你的訊息", "无人受子问",false),
|
||||
|
||||
;
|
||||
private final Supplier<?> supplier;
|
||||
private String key;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ public class ModDataGeneratorHandler {
|
|||
ItemModelGenerator(event, existingFileHelper);
|
||||
RecipeGenerator(event, holderFolder);
|
||||
ModTagsProvider(event, event.getLookupProvider(), existingFileHelper);
|
||||
ModSoundProvider(event, existingFileHelper);
|
||||
ModAdvancementProvider(event, holderFolder, existingFileHelper);
|
||||
}
|
||||
private static void addLanguage(GatherDataEvent event, LanguageEnum language){
|
||||
|
|
@ -68,6 +69,13 @@ public class ModDataGeneratorHandler {
|
|||
(DataProvider.Factory<ModDataPackBuiltInEntriesProvider>) pOutput -> new ModDataPackBuiltInEntriesProvider(pOutput, future)
|
||||
);
|
||||
}
|
||||
private static void ModSoundProvider(GatherDataEvent event, ExistingFileHelper helper) {
|
||||
event.getGenerator().addProvider(
|
||||
event.includeServer(),
|
||||
(DataProvider.Factory<ModSoundDefinitionsProvider>) pOutput ->
|
||||
new ModSoundDefinitionsProvider(pOutput,LeashedPlayer.MOD_ID, helper)
|
||||
);
|
||||
}
|
||||
private static void ModAdvancementProvider(GatherDataEvent event, CompletableFuture<HolderLookup.Provider> pLookUpProvider, ExistingFileHelper helper) {
|
||||
event.getGenerator().addProvider(
|
||||
event.includeServer(),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.r3944realms.leashedplayer.datagen.provider;
|
||||
|
||||
import com.r3944realms.leashedplayer.LeashedPlayer;
|
||||
import com.r3944realms.leashedplayer.datagen.provider.attributes.ModJukeboxSongs;
|
||||
import com.r3944realms.leashedplayer.datagen.provider.attributes.ModPaintingVariants;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.core.RegistrySetBuilder;
|
||||
|
|
@ -13,7 +14,8 @@ import java.util.concurrent.CompletableFuture;
|
|||
|
||||
public class ModDataPackBuiltInEntriesProvider extends DatapackBuiltinEntriesProvider {
|
||||
public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
|
||||
.add(Registries.PAINTING_VARIANT, ModPaintingVariants::bootstrap);
|
||||
.add(Registries.PAINTING_VARIANT, ModPaintingVariants::bootstrap)
|
||||
.add(Registries.JUKEBOX_SONG, ModJukeboxSongs::bootstrap);
|
||||
public ModDataPackBuiltInEntriesProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
|
||||
super(output, registries, BUILDER, Set.of(LeashedPlayer.MOD_ID));
|
||||
CompletableFuture<HolderLookup.Provider> registryProvider = getRegistryProvider();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
package com.r3944realms.leashedplayer.datagen.provider;
|
||||
|
||||
|
||||
import com.r3944realms.leashedplayer.content.sounds.ModSoundRegister;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.neoforged.neoforge.common.data.ExistingFileHelper;
|
||||
import net.neoforged.neoforge.common.data.SoundDefinition;
|
||||
import net.neoforged.neoforge.common.data.SoundDefinitionsProvider;
|
||||
|
||||
public class ModSoundDefinitionsProvider extends SoundDefinitionsProvider {
|
||||
/**
|
||||
* Creates a new instance of this data provider.
|
||||
*
|
||||
* @param output The {@linkplain PackOutput} instance provided by the data generator.
|
||||
* @param modId The mod ID of the current mod.
|
||||
* @param helper The existing file helper provided by the event you are initializing this provider in.
|
||||
*/
|
||||
public ModSoundDefinitionsProvider(PackOutput output, String modId, ExistingFileHelper helper) {
|
||||
super(output, modId, helper);
|
||||
}
|
||||
|
||||
public SoundDefinition getSoundDefinition(String subTitle, SoundDefinition.Sound... sounds) {
|
||||
return SoundDefinition.definition().subtitle(subTitle).with(sounds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerSounds() {
|
||||
add(
|
||||
ModSoundRegister.FOX_MUSIC,
|
||||
getSoundDefinition(
|
||||
ModSoundRegister.getSubTitleTranslateKey("what_does_the_fox_say"),
|
||||
sound(ModSoundRegister.RL_FOX_MUSIC, SoundDefinition.SoundType.SOUND)
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package com.r3944realms.leashedplayer.datagen.provider.attributes;
|
||||
|
||||
import com.r3944realms.leashedplayer.LeashedPlayer;
|
||||
import com.r3944realms.leashedplayer.content.sounds.ModSoundRegister;
|
||||
import net.minecraft.Util;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.data.worldgen.BootstrapContext;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.world.item.JukeboxSong;
|
||||
|
||||
public class ModJukeboxSongs {
|
||||
public static ResourceKey<JukeboxSong> FOX_MUSIC = create("what_does_the_fox_say");
|
||||
|
||||
public static void bootstrap(BootstrapContext<JukeboxSong> pContext) {
|
||||
JukeboxSongBootstrap(pContext);
|
||||
}
|
||||
|
||||
public static void JukeboxSongBootstrap(BootstrapContext<JukeboxSong> pContext) {
|
||||
register(pContext, FOX_MUSIC, ModSoundRegister.FOX_MUSIC, 121, 15);
|
||||
|
||||
}
|
||||
|
||||
private static void register(
|
||||
BootstrapContext<JukeboxSong> pContext, ResourceKey<JukeboxSong> pKey, Holder<SoundEvent> pSoundEvent, int pLengthInSeconds, int pComparatorOutput
|
||||
) {
|
||||
pContext.register(
|
||||
pKey,
|
||||
new JukeboxSong(pSoundEvent, Component.translatable(Util.makeDescriptionId("jukebox_song", pKey.location())), (float)pLengthInSeconds, pComparatorOutput)
|
||||
);
|
||||
}
|
||||
private static ResourceKey<JukeboxSong> create(String pName) {
|
||||
return ResourceKey.create(Registries.JUKEBOX_SONG, ResourceLocation.fromNamespaceAndPath(LeashedPlayer.MOD_ID, pName));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package com.r3944realms.leashedplayer.mixin.registry;
|
||||
|
||||
import com.r3944realms.leashedplayer.datagen.provider.attributes.ModJukeboxSongs;
|
||||
import net.minecraft.data.worldgen.BootstrapContext;
|
||||
import net.minecraft.world.item.JukeboxSong;
|
||||
import net.minecraft.world.item.JukeboxSongs;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(JukeboxSongs.class)
|
||||
public interface MixinJukeboxSongs {
|
||||
@Inject(method = {"bootstrap"}, at = @At("TAIL"))
|
||||
private static void bootstrap(BootstrapContext<JukeboxSong> pContext, CallbackInfo ci) {
|
||||
ModJukeboxSongs.JukeboxSongBootstrap(pContext);
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 280 B |
|
|
@ -5,6 +5,7 @@
|
|||
"both.MixinLivingEntity",
|
||||
"both.MixinPlayer",
|
||||
"item.MixinLeadItem",
|
||||
"registry.MixinJukeboxSongs",
|
||||
"registry.MixinPaintingVariants",
|
||||
"server.MixinPlayerList",
|
||||
"server.MixinServerGamePacketListenerImpl",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user