This commit is contained in:
HuTao今天吃什么 2022-09-22 23:30:16 +08:00
parent 020c061cd5
commit fce6e7566f
23 changed files with 265 additions and 68 deletions

View File

@ -127,10 +127,12 @@ a07a5c769583b962681490e5f0b20061687cb761 assets/extrabotany/models/item/maid_hel
e5565bf2634fcb6b71ef368e39d2e7b83a864a14 assets/extrabotany/models/item/maid_legs.json
f7d66ff140c3d26855473f9f76de0651bcbf7139 assets/extrabotany/models/item/mana_drink.json
37f89485ca055f0ba0d17ceb005f31a3dd2484bf assets/extrabotany/models/item/mana_reader.json
93d210dd7b3edda7534eca5df19f220228215607 assets/extrabotany/models/item/mana_shortarrow.json
fc451b65c395f143892d51353b7603a8c850c426 assets/extrabotany/models/item/miku_boots.json
a19c79a070422b71bb32dad4faf26bb49884bcae assets/extrabotany/models/item/miku_chest.json
2e781d0a22153788fa06d7899f9f38ae512939aa assets/extrabotany/models/item/miku_helm.json
c4b8495aa3f27caf81ed3257196939a172a13284 assets/extrabotany/models/item/miku_legs.json
ed31cb3a8268a11b196b888eedbcc99e053a509d assets/extrabotany/models/item/mini_toranado_rod.json
580ba289bda4ca1ca851c973f2cfb32da7d5ad29 assets/extrabotany/models/item/moon_pendant.json
b121d617776ea778fa80dc7e710449d8c8785287 assets/extrabotany/models/item/moonlight_lily.json
f6e460fc3bda4c7548e63ce601cae371388e2b08 assets/extrabotany/models/item/nature_orb.json
@ -296,6 +298,7 @@ eee4a14b24a3a6b8c1956a105b3248816e94b735 data/extrabotany/recipes/mana_infusion/
7bd581e436ce8e6c70a18268c4c4fcd73aab174f data/extrabotany/recipes/mana_infusion/enderpearl.json
8058f01a751b5758cf67df75b7abb439325397f1 data/extrabotany/recipes/mana_infusion/fried_chicken.json
fbee8a693cddf83c7457a107115e2b92abdf9660 data/extrabotany/recipes/mana_infusion/livingwood_shortbow.json
a904f9a8798c52a6aa73ba114f620f07140ad8d1 data/extrabotany/recipes/mana_infusion/mana_shortarrow.json
f40b6bfaed56e613770773ffe23cdfd40f88a6d7 data/extrabotany/recipes/mana_infusion/nether_rack.json
f5e78d715ea2359f1a3db33da9b5f41aa2b7edfc data/extrabotany/recipes/mana_infusion/nightmare_fuel.json
71b739d78ba5ae1fba7ee0657fa5053b3cbaf28b data/extrabotany/recipes/mana_infusion/quartz_ore.json
@ -458,7 +461,7 @@ a8e2860e88e38e1b4a6fe99487ad539c691c1511 data/minecraft/recipes/manareader.json
8f4cd1dd88648b89be9a7d86657da308bb5d92be data/minecraft/recipes/miku_chest.json
b985f2b9fc14036f65b21bd0dea87fc33387de3a data/minecraft/recipes/miku_helm.json
c34f3094093e9982f62527ef235b08af00d108af data/minecraft/recipes/miku_legs.json
a9075a0f854ed636256651d1f23a0c1fe9cc39cc data/minecraft/recipes/moon_pendant.json
62a8de0c5c6f71f806e7fb1668455c240717238a data/minecraft/recipes/moon_pendant.json
d40c15e385db125c2c71aaa72c2bedc14019e584 data/minecraft/recipes/nature_orb.json
34d89a2b9a99e1b69641ec5cdf8679bc796fc361 data/minecraft/recipes/orichalcos.json
701dea5335b90ca083753fc810678fa398770583 data/minecraft/recipes/peace_amulet.json

View File

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "extrabotany:item/mana_shortarrow"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "extrabotany:item/mini_toranado_rod"
}
}

View File

@ -0,0 +1,10 @@
{
"type": "botania:mana_infusion",
"input": {
"item": "extrabotany:mana_shortarrow"
},
"output": {
"item": "extrabotany:mana_shortarrow"
},
"mana": 100
}

View File

@ -11,7 +11,7 @@
"item": "extrabotany:hero_medal"
},
"z": {
"item": "extrabotany:moon_pendant"
"item": "extrabotany:puredaisy_pendant"
},
"a": {
"item": "botania:rune_envy"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

View File

@ -1,8 +1,8 @@
package chick.extrabotany;
import chick.extrabotany.common.ModItems;
import chick.extrabotany.common.Registration;
import chick.extrabotany.common.base.ConfigHandler;
import chick.extrabotany.forge.ForgeCommonInitializer;
import com.mojang.logging.LogUtils;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
@ -10,6 +10,7 @@ import net.minecraft.world.item.ItemStack;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
@ -47,7 +48,10 @@ public class ExtraBotany
public ExtraBotany()
{
//register
Registration.initRegistration();
ForgeCommonInitializer.registryInit();
//setup
FMLJavaModLoadingContext.get().getModEventBus().addListener(ForgeCommonInitializer::commonSetup);
//create config
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, ConfigHandler.CLIENT_SPEC);
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ConfigHandler.COMMON_SPEC);

View File

@ -153,6 +153,7 @@ public class ModItems
public static final RegistryObject<Item> MANASTEEL_SHIELD = register(LibItemNames.MANASTEEL_SHIELD, () -> new ManaSteelShield(stackTo1()));
public static final RegistryObject<Item> ELEMENT_SHIELD = register(LibItemNames.ELEMENT_SHIELD, () -> new ElementSteelShield(stackTo1()));
public static final RegistryObject<Item> MINI_TORANADO_ROD = register(LibItemNames.MINI_TORANADO_ROD, () -> new MiniToranadoRod(stackTo1()));
public static final RegistryObject<Item> ROD_OF_DISCORD = register(LibItemNames.ROD_OF_DISCORD, () -> new RodOfDiscord(stackTo1()));
public static final RegistryObject<Item> SHADOW_WARRIOR_HELM = register(LibItemNames.SHADOWWARRIOR_HELM, () -> new ShadowWarriorArmor(EquipmentSlot.HEAD, stackTo1()));
public static final RegistryObject<Item> SHADOW_WARRIOR_CHEST = register(LibItemNames.SHADOWWARRIOR_CHEST, () -> new ShadowWarriorArmor(EquipmentSlot.CHEST, stackTo1()));

View File

@ -16,6 +16,7 @@ import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.NonNullList;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.CreativeModeTab;
@ -54,7 +55,6 @@ public class CoreGod extends ItemRelicBauble implements IAdvancementRequirement
{
super(props);
MinecraftForge.EVENT_BUS.addListener(this::updatePlayerFlyStatus);
MinecraftForge.EVENT_BUS.addListener(this::playerLoggedOut);
IProxy.INSTANCE.runOnClient(() -> () -> AccessoryRenderRegistry.register(this, new Renderer()));
}
@ -168,9 +168,9 @@ public class CoreGod extends ItemRelicBauble implements IAdvancementRequirement
}
}
private void playerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event)
public static void playerLoggedOut(ServerPlayer player)
{
String username = event.getPlayer().getGameProfile().getName();
String username = player.getGameProfile().getName();
playersWithFlight.remove(username + ":false");
playersWithFlight.remove(username + ":true");
}

View File

@ -31,19 +31,6 @@ public class SagesManaRing extends ItemManaRing
super(props);
}
@Override
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected)
{
if (!world.isClientSide && entity instanceof Player player)
{
var relic = IXplatAbstractions.INSTANCE.findRelic(stack);
if (relic != null)
{
relic.tickBinding(player);
}
}
}
@Override
public int getEntityLifespan(ItemStack itemStack, Level level)
{
@ -63,13 +50,6 @@ public class SagesManaRing extends ItemManaRing
}
}
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> tooltip, TooltipFlag flags)
{
super.appendHoverText(stack, world, tooltip, flags);
RelicImpl.addDefaultTooltip(stack, tooltip);
}
public static class GreaterManaItem extends ItemManaRing.ManaItem
{
public GreaterManaItem(ItemStack stack)
@ -95,9 +75,4 @@ public class SagesManaRing extends ItemManaRing
return MAX_MANA * stack.getCount();
}
}
public static IRelic makeRelic(ItemStack stack)
{
return new RelicImpl(stack, new ResourceLocation(ExtraBotany.MODID, "main/" + LibAdvancementNames.SAGES_MANA_RING_CRAFT));
}
}

View File

@ -89,6 +89,8 @@ public class LibItemNames
public static String CRYSTAL_CROSSBOW = "crystal_crossbow";
public static String LIVINGWOOD_SHORTBOW = "livingwood_shortbow";
public static String CRYSTAL_SHORTBOW = "crystal_shortbow";
public static String MINI_TORANADO_ROD = "mini_toranado_rod";
public static String ROD_OF_DISCORD = "rod_of_discord";
public static String SHADOWWARRIOR_HELM = "shadowwarrior_helm";
public static String SHADOWWARRIOR_CHEST = "shadowwarrior_chest";

View File

@ -13,6 +13,7 @@ import vazkii.botania.common.loot.TrueGuardianKiller;
public class ModLootModifiers
{
/*
public static final LootItemConditionType TRUE_GUARDIAN_KILLER = new LootItemConditionType(new TrueGuardianKiller.Serializer());
public static final LootItemConditionType ENABLE_RELICS = new LootItemConditionType(new EnableRelics.Serializer());
public static final LootItemConditionType KILLED_BY_REAL_PLAYER = new LootItemConditionType(new RealPlayerCondition.Serializer());
@ -23,4 +24,5 @@ public class ModLootModifiers
Registry.register(Registry.LOOT_CONDITION_TYPE, new ResourceLocation(ExtraBotany.MODID,"killed_by_player"), KILLED_BY_REAL_PLAYER);
Registry.register(Registry.LOOT_FUNCTION_TYPE, new ResourceLocation(ExtraBotany.MODID,"bind_uuid"), BIND_UUID);
}
*/
}

View File

@ -0,0 +1,122 @@
package chick.extrabotany.common.tools.others;
import chick.extrabotany.ExtraBotany;
import net.minecraft.Util;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.util.Mth;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
import vazkii.botania.api.mana.ManaItemHandler;
import vazkii.botania.client.fx.WispParticleData;
import vazkii.botania.common.handler.ModSounds;
import vazkii.botania.common.helper.ItemNBTHelper;
import vazkii.botania.common.item.rod.ItemTornadoRod;
import javax.annotation.Nonnull;
public class MiniToranadoRod extends ItemTornadoRod
{
public MiniToranadoRod(Properties props)
{
super(props);
}
protected static final int MAX_COUNTER = 20;
protected static final String TAG_FLYING = "flying";
protected static final String TAG_FLYCOUNTER = "flyCounter";
@Override
public void inventoryTick(ItemStack stack, Level world, Entity ent, int slot, boolean active)
{
if (ent instanceof Player player)
{
boolean damaged = getFlyCounter(stack) > 0;
boolean held = player.getMainHandItem() == stack || player.getOffhandItem() == stack;
if (damaged && !isFlying(stack))
{
setFlyCounter(stack, getFlyCounter(stack) - 1);
}
if (isFlying(stack))
{
if (held)
{
player.fallDistance = 0F;
double my = ManaItemHandler.instance().hasProficiency(player, stack) ? 1.6 : 0.8;
Vec3 oldMot = player.getDeltaMovement();
if (player.isFallFlying())
{
Vec3 lookDir = player.getLookAngle();
player.setDeltaMovement(new Vec3(lookDir.x() * my, lookDir.y() * my, lookDir.z() * my));
} else
{
player.setDeltaMovement(new Vec3(oldMot.x(), my, oldMot.z()));
}
player.playSound(ModSounds.airRod, 1F, 1F);
for (int i = 0; i < 5; i++)
{
WispParticleData data = WispParticleData.wisp(0.35F + (float) Math.random() * 0.1F, 0.25F, 0.25F, 0.25F);
world.addParticle(data, player.getX(), player.getY(), player.getZ(),
0.2F * (float) (Math.random() - 0.5),
-0.01F * (float) Math.random(),
0.2F * (float) (Math.random() - 0.5));
}
}
setFlyCounter(stack, MAX_COUNTER);
setFlying(stack, false);
}
if (damaged)
{
player.fallDistance = 0;
}
}
}
@Override
public boolean isBarVisible(@Nonnull ItemStack stack)
{
return getFlyCounter(stack) > 0;
}
@Override
public int getBarWidth(@Nonnull ItemStack stack)
{
float frac = 1 - (getFlyCounter(stack) / (float) MAX_COUNTER);
return Math.round(13 * frac);
}
@Override
public int getBarColor(@Nonnull ItemStack stack)
{
float frac = 1 - (getFlyCounter(stack) / (float) MAX_COUNTER);
return Mth.hsvToRgb(frac / 3.0F, 1.0F, 1.0F);
}
protected void setFlying(ItemStack stack, boolean flying)
{
ItemNBTHelper.setBoolean(stack, TAG_FLYING, flying);
}
protected int getFlyCounter(ItemStack stack)
{
return stack.getOrCreateTag().getInt(TAG_FLYCOUNTER);
}
protected void setFlyCounter(ItemStack stack, int counter)
{
stack.getOrCreateTag().putInt(TAG_FLYCOUNTER, counter);
}
}

View File

@ -45,7 +45,6 @@ public class ModItemModels extends ItemModelProvider
list.remove(ModItems.SUPREME_AERO_STONE.get());
list.remove(ModItems.SUPREME_IGNITE_STONE.get());
list.remove(ModItems.SUPREME_AQUA_STONE.get());
list.remove(ModItems.MANA_SHORTARROW.get());
for (var item : list)
{
simpleTexture(item.getRegistryName().getPath());

View File

@ -345,7 +345,7 @@ public class ModCraftingTableRecipes extends RecipeProvider
.pattern("fmb")
.pattern("gza")
.define('m', ModItems.HERO_MEDAL.get())
.define('z', ModItems.MOON_PENDANT.get())
.define('z', ModItems.PURE_DAISY_PENDANT.get())
.define('a', vazkii.botania.common.item.ModItems.runeEnvy)
.define('b', vazkii.botania.common.item.ModItems.runeSloth)
.define('c', vazkii.botania.common.item.ModItems.runePride)

View File

@ -33,7 +33,8 @@ public class ModManaInfusionRecipes extends RecipeProvider
{
consumer.accept(new ManaInfusion(idFor(LibItemNames.NIGHTMARE_FUEL), new ItemStack(ModItems.NIGHTMARE_FUEL.get()), Ingredient.of(Items.COAL), 1000));
consumer.accept(new ManaInfusion(idFor(LibItemNames.LIVINGWOOD_SHORTBOW), new ItemStack(ModItems.LIVINGWOOD_SHORTBOW.get()), Ingredient.of(vazkii.botania.common.item.ModItems.livingwoodBow), 2000));
consumer.accept(new ManaInfusion(idFor("fried_chicken"), new ItemStack(ModItems.FRIED_CHICKEN.get()), Ingredient.of(Items.COOKED_CHICKEN), 600));
consumer.accept(new ManaInfusion(idFor(LibItemNames.MANA_SHORTARROW), new ItemStack(ModItems.MANA_SHORTARROW.get()), Ingredient.of(ModItems.MANA_SHORTARROW.get()), 100));
consumer.accept(new ManaInfusion(idFor(LibItemNames.FRIED_CHICKEN), new ItemStack(ModItems.FRIED_CHICKEN.get()), Ingredient.of(Items.COOKED_CHICKEN), 600));
consumer.accept(ManaInfusion.dimension(idFor("enderpearl"), new ItemStack(Items.ENDER_PEARL), Ingredient.of(Items.DIAMOND), 20000));
consumer.accept(ManaInfusion.dimension(idFor("shulker_shell"), new ItemStack(Items.SHULKER_SHELL), Ingredient.of(Items.DIAMOND_HORSE_ARMOR), 20000));

View File

@ -1,10 +1,12 @@
package chick.extrabotany.forge.client;
package chick.extrabotany.forge;
import chick.extrabotany.ExtraBotany;
import chick.extrabotany.common.ModBlocks;
import chick.extrabotany.common.ModItemProperties;
import chick.extrabotany.common.blocks.tile.TileDimensionCatalyst;
import chick.extrabotany.common.loots.ModLootModifiers;
import chick.extrabotany.forge.client.CapabilityInit;
import chick.extrabotany.forge.client.EntityRendererInit;
import chick.extrabotany.forge.client.model.MiscellaneousIcons;
import chick.extrabotany.forge.client.model.LayerDefinitions;
import chick.extrabotany.forge.client.render.ColorHandler;
@ -38,23 +40,9 @@ public class ForgeClientInitializer
//projectile model
bus.addListener(MiscellaneousIcons.INSTANCE::onModelRegister);
bus.addListener(MiscellaneousIcons.INSTANCE::onModelBake);
bus.addListener(ForgeClientInitializer::commonInit);
ModItemProperties.init((item, id, prop) -> ItemProperties.register(item.asItem(), id, prop));
// Anything that touches vanilla registries needs to happen during *a* registry event
// So just use a random one
bus.addGenericListener(Block.class, (RegistryEvent.Register<Block> e) -> ModLootModifiers.init());
var forgebus = MinecraftForge.EVENT_BUS;
forgebus.addGenericListener(BlockEntity.class, CapabilityInit::attachBlockEntityCaps);
forgebus.addGenericListener(ItemStack.class, CapabilityInit::attachItemStackCaps);
NetworkHandler.registerMessage();
}
//Not Client LOL
public static void commonInit(FMLCommonSetupEvent evt)
{
PatchouliAPI.get().registerMultiblock(Registry.BLOCK.getKey(ModBlocks.DIMENSION_CATALYST.get()), TileDimensionCatalyst.MULTIBLOCK.get());
}
@SubscribeEvent

View File

@ -1,25 +1,66 @@
package chick.extrabotany.common;
package chick.extrabotany.forge;
import chick.extrabotany.ExtraBotany;
import chick.extrabotany.common.*;
import chick.extrabotany.common.baubles.relic.CoreGod;
import chick.extrabotany.common.blocks.ModSubtiles;
import chick.extrabotany.common.blocks.ModTiles;
import chick.extrabotany.common.blocks.tile.TileDimensionCatalyst;
import chick.extrabotany.common.brews.ModBrews;
import chick.extrabotany.common.loots.ModLootModifiers;
import chick.extrabotany.common.tools.weapons.SwordRelicBase;
import chick.extrabotany.forge.client.CapabilityInit;
import chick.extrabotany.network.NetworkHandler;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.IForgeRegistryEntry;
import vazkii.botania.common.item.equipment.bauble.ItemFlightTiara;
import vazkii.patchouli.api.PatchouliAPI;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
public class Registration
@Mod.EventBusSubscriber(modid = ExtraBotany.MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.DEDICATED_SERVER)
public class ForgeCommonInitializer
{
public static void initRegistration()
//@SubscribeEvent
public static void commonSetup(FMLCommonSetupEvent evt)
{
registerEvents();
PatchouliAPI.get().registerMultiblock(Registry.BLOCK.getKey(ModBlocks.DIMENSION_CATALYST.get()), TileDimensionCatalyst.MULTIBLOCK.get());
}
private static void registerEvents()
{
IEventBus bus = MinecraftForge.EVENT_BUS;
bus.addGenericListener(BlockEntity.class, CapabilityInit::attachBlockEntityCaps);
bus.addGenericListener(ItemStack.class, CapabilityInit::attachItemStackCaps);
NetworkHandler.registerMessage();
bus.addListener((PlayerEvent.PlayerLoggedOutEvent e) -> CoreGod.playerLoggedOut((ServerPlayer) e.getPlayer()));
}
public static void registryInit()
{
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
ModBlocks.getBlocks().register(bus);
@ -28,14 +69,15 @@ public class Registration
ModItems.getItems().register(bus);
ModEffects.getEffects().register(bus);
//potions and brews
ModBrews.registerBrews();
//tiles
bind(ForgeRegistries.BLOCK_ENTITIES, ModTiles::registerTiles);
//flowers(subtile
//flowers(subtiles)
bind(ForgeRegistries.BLOCKS, ModSubtiles::registerBlocks);
bind(ForgeRegistries.ITEMS, ModSubtiles::registerItemBlocks);
bind(ForgeRegistries.BLOCK_ENTITIES, ModSubtiles::registerTEs);
//potions and brews
ModBrews.registerBrews();
//entities
bind(ForgeRegistries.ENTITIES, ModEntities::registerEntities);
bus.addListener((EntityAttributeCreationEvent e) -> ModEntities.registerAttributes((type, builder) -> e.put(type, builder.build())));
@ -43,7 +85,11 @@ public class Registration
bind(ForgeRegistries.RECIPE_SERIALIZERS, ModItems::registerRecipeSerializers);
//sounds
bind(ForgeRegistries.SOUND_EVENTS, ModSounds::init);
initEvents();
// Anything that touches vanilla registries needs to happen during *a* registry event
// So just use a random one
//bus.addGenericListener(Block.class, (RegistryEvent.Register<Block> e) -> ModLootModifiers.init());
}
public static <T extends IForgeRegistryEntry<T>> void bind(IForgeRegistry<T> registry, Consumer<BiConsumer<T, ResourceLocation>> source)
@ -59,11 +105,4 @@ public class Registration
});
});
}
private static void initEvents()
{
IEventBus bus = MinecraftForge.EVENT_BUS;
// bus.addListener((PlayerInteractEvent.RightClickItem event) -> ShadowKatana.attackEntity(event.getPlayer(), event.getHand(), event.getItemStack()));
}
}

View File

@ -48,7 +48,6 @@ public class CapabilityInit
ModItems.EXCALIBER.get(), Excaliber::makeRelic,
ModItems.FIRST_FRACTAL.get(), FirstFractal::makeRelic,
ModItems.SAGES_MANA_RING.get(), SagesManaRing::makeRelic,
ModItems.SUN_RING.get(), SunRing::makeRelic,
ModItems.MOON_PENDANT.get(), MoonPendant::makeRelic
));

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

View File

@ -12,6 +12,46 @@
"type": "crafting",
"text": "extrabotany.page.dimension_catalyst1",
"recipe": "minecraft:dimension_catalyst"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/enderpearl"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/shulker_shell"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/chorus_fruit"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/end_stone"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/nether_rack"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/soul_sand"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/quartz_ore"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/blaze_rod"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/totem_of_undying"
},
{
"type": "botania:mana_infusion",
"recipes": "extrabotany:mana_infusion/elytra"
}
]
}

View File

@ -21,7 +21,7 @@
{
"type": "botania:mana_infusion",
"text": "extrabotany.page.mini_item3",
"recipes": "extrabotany:mana_infusion/livingwood_shortbow"
"recipes": "extrabotany:mana_infusion/mana_shortarrow"
},
{
"type": "text",