Continue migration
This commit is contained in:
parent
47ed597358
commit
33dbfbe633
263 changed files with 1450 additions and 1486 deletions
|
@ -5,25 +5,24 @@ import java.util.List;
|
|||
import com.google.common.collect.Lists;
|
||||
|
||||
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
|
||||
import net.minecraft.core.dispenser.DispenseItemBehavior;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.entity.MobSpawnType;
|
||||
import net.minecraft.world.food.FoodProperties;
|
||||
import net.minecraft.world.food.Foods;
|
||||
import net.minecraft.world.item.*;
|
||||
import net.minecraft.world.level.block.DispenserBlock;
|
||||
import net.minecraft.world.level.block.dispenser.ItemDispenserBehavior;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
import net.minecraft.world.entity.SpawnReason;
|
||||
import net.minecraft.world.entity.effect.StatusEffectInstance;
|
||||
import net.minecraft.world.entity.effect.StatusEffects;
|
||||
import net.minecraft.fluid.Fluids;
|
||||
import net.minecraft.world.item.FoodComponent;
|
||||
import net.minecraft.world.item.FoodComponents;
|
||||
import net.minecraft.world.effect.MobEffectInstance;
|
||||
import net.minecraft.world.effect.MobEffects;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
import net.minecraft.world.item.Item.Properties;
|
||||
import net.minecraft.world.item.ToolItem;
|
||||
import net.minecraft.world.item.ToolMaterials;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.world.item.TieredItem;
|
||||
import net.minecraft.world.item.Tiers;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.util.math.BlockPointer;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
|
@ -94,17 +93,17 @@ public class EndItems {
|
|||
EndArmorMaterial.CRYSTALITE, EquipmentSlot.FEET, makeItemSettings().rarity(Rarity.UNCOMMON)));
|
||||
|
||||
// Tools //
|
||||
public static final ToolItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel",
|
||||
public static final TieredItem AETERNIUM_SHOVEL = registerTool("aeternium_shovel",
|
||||
new EndShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeItemSettings().fireResistant()));
|
||||
public static final ToolItem AETERNIUM_SWORD = registerTool("aeternium_sword",
|
||||
public static final TieredItem AETERNIUM_SWORD = registerTool("aeternium_sword",
|
||||
new EndSwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeItemSettings().fireResistant()));
|
||||
public static final ToolItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe",
|
||||
public static final TieredItem AETERNIUM_PICKAXE = registerTool("aeternium_pickaxe",
|
||||
new EndPickaxeItem(EndToolMaterial.AETERNIUM, 1, -2.8F, makeItemSettings().fireResistant()));
|
||||
public static final ToolItem AETERNIUM_AXE = registerTool("aeternium_axe",
|
||||
public static final TieredItem AETERNIUM_AXE = registerTool("aeternium_axe",
|
||||
new EndAxeItem(EndToolMaterial.AETERNIUM, 5.0F, -3.0F, makeItemSettings().fireResistant()));
|
||||
public static final ToolItem AETERNIUM_HOE = registerTool("aeternium_hoe",
|
||||
public static final TieredItem AETERNIUM_HOE = registerTool("aeternium_hoe",
|
||||
new EndHoeItem(EndToolMaterial.AETERNIUM, -3, 0.0F, makeItemSettings().fireResistant()));
|
||||
public static final ToolItem AETERNIUM_HAMMER = registerTool("aeternium_hammer",
|
||||
public static final TieredItem AETERNIUM_HAMMER = registerTool("aeternium_hammer",
|
||||
new EndHammerItem(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeItemSettings().fireResistant()));
|
||||
|
||||
// Toolparts //
|
||||
|
@ -117,33 +116,31 @@ public class EndItems {
|
|||
public final static Item AETERNIUM_SWORD_HANDLE = registerItem("aeternium_sword_handle");
|
||||
|
||||
// Hammers //
|
||||
public static final ToolItem IRON_HAMMER = registerTool("iron_hammer",
|
||||
new EndHammerItem(ToolMaterials.IRON, 5.0F, -3.2F, 0.2D, makeItemSettings()));
|
||||
public static final ToolItem GOLDEN_HAMMER = registerTool("golden_hammer",
|
||||
new EndHammerItem(ToolMaterials.GOLD, 4.5F, -3.4F, 0.3D, makeItemSettings()));
|
||||
public static final ToolItem DIAMOND_HAMMER = registerTool("diamond_hammer",
|
||||
new EndHammerItem(ToolMaterials.DIAMOND, 5.5F, -3.1F, 0.2D, makeItemSettings()));
|
||||
public static final ToolItem NETHERITE_HAMMER = registerTool("netherite_hammer",
|
||||
new EndHammerItem(ToolMaterials.NETHERITE, 5.0F, -3.0F, 0.2D, makeItemSettings().fireResistant()));
|
||||
public static final TieredItem IRON_HAMMER = registerTool("iron_hammer",
|
||||
new EndHammerItem(Tiers.IRON, 5.0F, -3.2F, 0.2D, makeItemSettings()));
|
||||
public static final TieredItem GOLDEN_HAMMER = registerTool("golden_hammer",
|
||||
new EndHammerItem(Tiers.GOLD, 4.5F, -3.4F, 0.3D, makeItemSettings()));
|
||||
public static final TieredItem DIAMOND_HAMMER = registerTool("diamond_hammer",
|
||||
new EndHammerItem(Tiers.DIAMOND, 5.5F, -3.1F, 0.2D, makeItemSettings()));
|
||||
public static final TieredItem NETHERITE_HAMMER = registerTool("netherite_hammer",
|
||||
new EndHammerItem(Tiers.NETHERITE, 5.0F, -3.0F, 0.2D, makeItemSettings().fireResistant()));
|
||||
|
||||
// Food //
|
||||
public final static Item SHADOW_BERRY_RAW = registerFood("shadow_berry_raw", 4, 0.5F);
|
||||
public final static Item SHADOW_BERRY_COOKED = registerFood("shadow_berry_cooked", 6, 0.7F);
|
||||
public final static Item END_FISH_RAW = registerFood("end_fish_raw", FoodComponents.SALMON);
|
||||
public final static Item END_FISH_COOKED = registerFood("end_fish_cooked", FoodComponents.COOKED_SALMON);
|
||||
public final static Item END_FISH_RAW = registerFood("end_fish_raw", Foods.SALMON);
|
||||
public final static Item END_FISH_COOKED = registerFood("end_fish_cooked", Foods.COOKED_SALMON);
|
||||
public final static Item BUCKET_END_FISH = registerItem("bucket_end_fish",
|
||||
new FishBucketItem(EndEntities.END_FISH, Fluids.WATER, makeItemSettings().maxCount(1)));
|
||||
new FishBucketItem(EndEntities.END_FISH, Fluids.WATER, makeItemSettings().stacksTo(1)));
|
||||
public final static Item SWEET_BERRY_JELLY = registerFood("sweet_berry_jelly", 6, 0.75F);
|
||||
public final static Item SHADOW_BERRY_JELLY = registerFood("shadow_berry_jelly", 7, 0.75F,
|
||||
new StatusEffectInstance(StatusEffects.NIGHT_VISION, 400));
|
||||
public final static Item BLOSSOM_BERRY = registerFood("blossom_berry", FoodComponents.APPLE);
|
||||
new MobEffectInstance(MobEffects.NIGHT_VISION, 400));
|
||||
public final static Item BLOSSOM_BERRY = registerFood("blossom_berry", Foods.APPLE);
|
||||
public final static Item AMBER_ROOT_RAW = registerFood("amber_root_raw", 2, 0.8F);
|
||||
public final static Item CHORUS_MUSHROOM_RAW = registerFood("chorus_mushroom_raw", 3, 0.5F);
|
||||
public final static Item CHORUS_MUSHROOM_COOKED = registerFood("chorus_mushroom_cooked",
|
||||
FoodComponents.MUSHROOM_STEW);
|
||||
public final static Item BOLUX_MUSHROOM_COOKED = registerFood("bolux_mushroom_cooked",
|
||||
FoodComponents.MUSHROOM_STEW);
|
||||
public final static Item CAVE_PUMPKIN_PIE = registerFood("cave_pumpkin_pie", FoodComponents.PUMPKIN_PIE);
|
||||
public final static Item CHORUS_MUSHROOM_COOKED = registerFood("chorus_mushroom_cooked", Foods.MUSHROOM_STEW);
|
||||
public final static Item BOLUX_MUSHROOM_COOKED = registerFood("bolux_mushroom_cooked", Foods.MUSHROOM_STEW);
|
||||
public final static Item CAVE_PUMPKIN_PIE = registerFood("cave_pumpkin_pie", Foods.PUMPKIN_PIE);
|
||||
|
||||
// Drinks //
|
||||
public final static Item UMBRELLA_CLUSTER_JUICE = registerDrink("umbrella_cluster_juice", 5, 0.7F);
|
||||
|
@ -191,7 +188,7 @@ public class EndItems {
|
|||
return item;
|
||||
}
|
||||
|
||||
public static ToolItem registerTool(String name, ToolItem item) {
|
||||
public static TieredItem registerTool(String name, TieredItem item) {
|
||||
ResourceLocation id = BetterEnd.makeID(name);
|
||||
if (!Configs.ITEM_CONFIG.getBoolean("tools", id.getPath(), true)) {
|
||||
return item;
|
||||
|
@ -199,17 +196,17 @@ public class EndItems {
|
|||
registerItem(id, item, MOD_ITEMS);
|
||||
|
||||
if (item instanceof ShovelItem) {
|
||||
TagHelper.addTag((Tag.Identified<Item>) FabricToolTags.SHOVELS, item);
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.SHOVELS, item);
|
||||
} else if (item instanceof SwordItem) {
|
||||
TagHelper.addTag((Tag.Identified<Item>) FabricToolTags.SWORDS, item);
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.SWORDS, item);
|
||||
} else if (item instanceof EndPickaxeItem) {
|
||||
TagHelper.addTag((Tag.Identified<Item>) FabricToolTags.PICKAXES, item);
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.PICKAXES, item);
|
||||
} else if (item instanceof EndAxeItem) {
|
||||
TagHelper.addTag((Tag.Identified<Item>) FabricToolTags.AXES, item);
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.AXES, item);
|
||||
} else if (item instanceof EndHoeItem) {
|
||||
TagHelper.addTag((Tag.Identified<Item>) FabricToolTags.HOES, item);
|
||||
TagHelper.addTag((Tag.Named<Item>) FabricToolTags.HOES, item);
|
||||
} else if (item instanceof EndHammerItem) {
|
||||
TagHelper.addTag((Tag.Identified<Item>) EndTags.HAMMERS, item);
|
||||
TagHelper.addTag((Tag.Named<Item>) EndTags.HAMMERS, item);
|
||||
}
|
||||
|
||||
return item;
|
||||
|
@ -217,42 +214,40 @@ public class EndItems {
|
|||
|
||||
public static Item registerEgg(String name, EntityType<?> type, int background, int dots) {
|
||||
SpawnEggItem item = new EndSpawnEggItem(type, background, dots, makeItemSettings());
|
||||
ItemDispenserBehavior behavior = new ItemDispenserBehavior() {
|
||||
public ItemStack dispenseSilently(BlockPointer pointer, ItemStack stack) {
|
||||
Direction direction = pointer.getBlockState().get(DispenserBlock.FACING);
|
||||
EntityType<?> entityType = ((SpawnEggItem) stack.getItem()).getEntityType(stack.getTag());
|
||||
entityType.spawnFromItemStack(pointer.getLevel(), stack, null, pointer.getBlockPos().offset(direction),
|
||||
SpawnReason.DISPENSER, direction != Direction.UP, false);
|
||||
stack.decrement(1);
|
||||
return stack;
|
||||
}
|
||||
DispenseItemBehavior behavior = (pointer, stack) -> {
|
||||
Direction direction = pointer.getBlockState().getValue(DispenserBlock.FACING);
|
||||
EntityType<?> entityType = ((SpawnEggItem) stack.getItem()).getType(stack.getTag());
|
||||
entityType.spawn(pointer.getLevel(), stack, null, pointer.getPos().relative(direction),
|
||||
MobSpawnType.DISPENSER, direction != Direction.UP, false);
|
||||
stack.shrink(1);
|
||||
return stack;
|
||||
};
|
||||
DispenserBlock.registerBehavior(item, behavior);
|
||||
return registerItem(name, item);
|
||||
}
|
||||
|
||||
public static Item registerFood(String name, int hunger, float saturation, StatusEffectInstance... effects) {
|
||||
FoodComponent.Builder builder = new FoodComponent.Builder().hunger(hunger).saturationModifier(saturation);
|
||||
for (StatusEffectInstance effect : effects) {
|
||||
builder.statusEffect(effect, 1F);
|
||||
public static Item registerFood(String name, int hunger, float saturation, MobEffectInstance... effects) {
|
||||
FoodProperties.Builder builder = new FoodProperties.Builder().nutrition(hunger).saturationMod(saturation);
|
||||
for (MobEffectInstance effect : effects) {
|
||||
builder.effect(effect, 1F);
|
||||
}
|
||||
return registerFood(name, builder.build());
|
||||
}
|
||||
|
||||
public static Item registerFood(String name, FoodComponent foodComponent) {
|
||||
public static Item registerFood(String name, FoodProperties foodComponent) {
|
||||
return registerItem(name, new PatternedItem(makeItemSettings().food(foodComponent)));
|
||||
}
|
||||
|
||||
public static Item registerDrink(String name) {
|
||||
return registerItem(name, new DrinkItem(makeItemSettings().maxCount(1)));
|
||||
return registerItem(name, new DrinkItem(makeItemSettings().stacksTo(1)));
|
||||
}
|
||||
|
||||
public static Item registerDrink(String name, FoodComponent foodComponent) {
|
||||
return registerItem(name, new DrinkItem(makeItemSettings().maxCount(1).food(foodComponent)));
|
||||
public static Item registerDrink(String name, FoodProperties foodComponent) {
|
||||
return registerItem(name, new DrinkItem(makeItemSettings().stacksTo(1).food(foodComponent)));
|
||||
}
|
||||
|
||||
public static Item registerDrink(String name, int hunger, float saturation) {
|
||||
FoodComponent.Builder builder = new FoodComponent.Builder().hunger(hunger).saturationModifier(saturation);
|
||||
FoodProperties.Builder builder = new FoodProperties.Builder().nutrition(hunger).saturationMod(saturation);
|
||||
return registerDrink(name, builder.build());
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue