[Fix] Music Disc did not play and got destroyed (quiqueck/BetterEnd#230)

This commit is contained in:
Frank 2023-06-19 20:03:00 +02:00
parent a74361497a
commit 8a6ad50377
2 changed files with 11 additions and 1 deletions

View file

@ -1,5 +1,7 @@
package org.betterx.bclib.behaviours; package org.betterx.bclib.behaviours;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
@ -35,6 +37,10 @@ public class BehaviourBuilders {
return createVine(MapColor.PLANT); return createVine(MapColor.PLANT);
} }
public static Item.Properties createDisc() {
return new Item.Properties().stacksTo(1).rarity(Rarity.RARE);
}
public static BlockBehaviour.Properties createVine(MapColor color) { public static BlockBehaviour.Properties createVine(MapColor color) {
return createPlant(color) return createPlant(color)
.replaceable() .replaceable()

View file

@ -1,5 +1,6 @@
package org.betterx.bclib.registry; package org.betterx.bclib.registry;
import org.betterx.bclib.behaviours.BehaviourBuilders;
import org.betterx.bclib.config.PathConfig; import org.betterx.bclib.config.PathConfig;
import org.betterx.bclib.items.BaseDiscItem; import org.betterx.bclib.items.BaseDiscItem;
import org.betterx.bclib.items.BaseDrinkItem; import org.betterx.bclib.items.BaseDrinkItem;
@ -7,6 +8,7 @@ import org.betterx.bclib.items.BaseSpawnEggItem;
import org.betterx.bclib.items.ModelProviderItem; import org.betterx.bclib.items.ModelProviderItem;
import org.betterx.bclib.models.RecordItemModelProvider; import org.betterx.bclib.models.RecordItemModelProvider;
import org.betterx.bclib.recipes.SmithingTemplates; import org.betterx.bclib.recipes.SmithingTemplates;
import org.betterx.worlds.together.tag.v3.TagManager;
import net.minecraft.core.BlockSource; import net.minecraft.core.BlockSource;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
@ -15,6 +17,7 @@ import net.minecraft.core.dispenser.DefaultDispenseItemBehavior;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.Mob;
@ -31,13 +34,14 @@ public class ItemRegistry extends BaseRegistry<Item> {
} }
public Item registerDisc(ResourceLocation itemId, int power, SoundEvent sound, int lengthInSeconds) { public Item registerDisc(ResourceLocation itemId, int power, SoundEvent sound, int lengthInSeconds) {
RecordItem item = BaseDiscItem.create(power, sound, makeItemSettings().stacksTo(1), lengthInSeconds); RecordItem item = BaseDiscItem.create(power, sound, BehaviourBuilders.createDisc(), lengthInSeconds);
if (item != null) { if (item != null) {
RecordItemModelProvider.add(item); RecordItemModelProvider.add(item);
if (!config.getBoolean("musicDiscs", itemId.getPath(), true)) { if (!config.getBoolean("musicDiscs", itemId.getPath(), true)) {
return item; return item;
} }
register(itemId, item); register(itemId, item);
TagManager.ITEMS.add(ItemTags.MUSIC_DISCS, item);
} }
return item; return item;
} }