mirror of
https://github.com/GoldChick/ExtraBotany.git
synced 2024-10-28 03:40:09 +08:00
v0.1.6.1
This commit is contained in:
parent
020c061cd5
commit
fce6e7566f
@ -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
|
||||
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "extrabotany:item/mana_shortarrow"
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "extrabotany:item/mini_toranado_rod"
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
"type": "botania:mana_infusion",
|
||||
"input": {
|
||||
"item": "extrabotany:mana_shortarrow"
|
||||
},
|
||||
"output": {
|
||||
"item": "extrabotany:mana_shortarrow"
|
||||
},
|
||||
"mana": 100
|
||||
}
|
@ -11,7 +11,7 @@
|
||||
"item": "extrabotany:hero_medal"
|
||||
},
|
||||
"z": {
|
||||
"item": "extrabotany:moon_pendant"
|
||||
"item": "extrabotany:puredaisy_pendant"
|
||||
},
|
||||
"a": {
|
||||
"item": "botania:rune_envy"
|
||||
|
BIN
src/img.png
BIN
src/img.png
Binary file not shown.
Before Width: | Height: | Size: 149 B |
@ -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);
|
||||
|
@ -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()));
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -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);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
@ -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());
|
||||
|
@ -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)
|
||||
|
@ -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));
|
||||
|
@ -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
|
@ -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()));
|
||||
}
|
||||
}
|
@ -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 |
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user