mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-18 00:20:44 +00:00
cleanup
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
package net.civmc.heliodor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Supplier;
|
||||
import net.civmc.heliodor.backpack.BackpackListener;
|
||||
import net.civmc.heliodor.command.HeliodorDebugCommand;
|
||||
import net.civmc.heliodor.heliodor.PickaxeBreakListener;
|
||||
@@ -8,12 +12,12 @@ import net.civmc.heliodor.heliodor.infusion.InfusionManager;
|
||||
import net.civmc.heliodor.heliodor.infusion.chunkmeta.CauldronDao;
|
||||
import net.civmc.heliodor.heliodor.infusion.chunkmeta.CauldronInfuseData;
|
||||
import net.civmc.heliodor.heliodor.infusion.chunkmeta.CauldronInfusion;
|
||||
import net.civmc.heliodor.vein.data.MeteoricIronVeinConfig;
|
||||
import net.civmc.heliodor.vein.OrePredicate;
|
||||
import net.civmc.heliodor.vein.SqlVeinDao;
|
||||
import net.civmc.heliodor.vein.VeinCache;
|
||||
import net.civmc.heliodor.vein.data.VeinConfig;
|
||||
import net.civmc.heliodor.vein.VeinSpawner;
|
||||
import net.civmc.heliodor.vein.data.MeteoricIronVeinConfig;
|
||||
import net.civmc.heliodor.vein.data.VeinConfig;
|
||||
import net.civmc.heliodor.vein.data.VerticalBlockPos;
|
||||
import net.civmc.heliodor.vein.listener.OreBreakListener;
|
||||
import net.civmc.heliodor.vein.listener.VeinBreakListener;
|
||||
@@ -28,11 +32,6 @@ import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.api.ChunkMetaAPI;
|
||||
import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.block.table.TableBasedDataObject;
|
||||
import vg.civcraft.mc.civmodcore.world.locations.chunkmeta.block.table.TableStorageEngine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class HeliodorPlugin extends ACivMod {
|
||||
|
||||
private ManagedDatasource database;
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
package net.civmc.heliodor.meteoriciron;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.CraftingBookCategory;
|
||||
import net.minecraft.world.item.crafting.CraftingInput;
|
||||
import net.minecraft.world.item.crafting.CustomRecipe;
|
||||
import net.minecraft.world.item.crafting.RecipeSerializer;
|
||||
import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer;
|
||||
import net.minecraft.world.level.Level;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import vg.civcraft.mc.civmodcore.inventory.CustomItem;
|
||||
|
||||
public class BindRecipe extends CustomRecipe {
|
||||
private final static RecipeSerializer<BindRecipe> SERIALIZER = RecipeSerializer.register("crafting_special_allow_bind", new SimpleCraftingRecipeSerializer<>(BindRecipe::new));
|
||||
|
||||
public BindRecipe(CraftingBookCategory category) {
|
||||
super(category);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ItemStack getTool(CraftingInput input) {
|
||||
ItemStack tool = null;
|
||||
ItemStack nugget = null;
|
||||
|
||||
for (int i = 0; i < input.size(); i++) {
|
||||
ItemStack test = input.getItem(i);
|
||||
if (!test.isEmpty()) {
|
||||
if (CustomItem.isCustomItem(test.getBukkitStack(), "meteoric_iron_nugget") && test.getCount() == 1) {
|
||||
if (nugget == null) {
|
||||
nugget = test;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else if (test.getBukkitStack().getPersistentDataContainer().has(new NamespacedKey("simpleadminhacks", "no_bind")) &&
|
||||
test.getBukkitStack().getPersistentDataContainer().has(new NamespacedKey("heliodor", "meteoric_unbindable"))) {
|
||||
if (tool == null) {
|
||||
tool = test;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return tool != null && nugget != null ? tool : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(CraftingInput input, Level world) {
|
||||
return this.getTool(input) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack assemble(CraftingInput input, HolderLookup.Provider lookup) {
|
||||
ItemStack tool = this.getTool(input);
|
||||
if (tool == null) {
|
||||
return ItemStack.EMPTY;
|
||||
} else {
|
||||
org.bukkit.inventory.ItemStack copy = tool.asBukkitCopy();
|
||||
ItemMeta meta = copy.getItemMeta();
|
||||
meta.getPersistentDataContainer().remove(new NamespacedKey("heliodor", "meteoric_unbindable"));
|
||||
meta.getPersistentDataContainer().remove(new NamespacedKey("simpleadminhacks", "no_bind"));
|
||||
copy.setItemMeta(meta);
|
||||
return ((CraftItemStack) copy).handle;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCraftInDimensions(int width, int height) {
|
||||
return width * height >= 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecipeSerializer<?> getSerializer() {
|
||||
return SERIALIZER;
|
||||
}
|
||||
}
|
||||
@@ -12,13 +12,11 @@ import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.attribute.AttributeModifier;
|
||||
import org.bukkit.craftbukkit.inventory.CraftComplexRecipe;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.CraftingRecipe;
|
||||
import org.bukkit.inventory.EquipmentSlotGroup;
|
||||
import org.bukkit.inventory.ItemRarity;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.Recipe;
|
||||
import org.bukkit.inventory.ShapedRecipe;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
@@ -53,7 +51,9 @@ public interface MeteoricIronArmour {
|
||||
meta.getPersistentDataContainer().set(new NamespacedKey("heliodor", "meteoric_bindable"), PersistentDataType.BOOLEAN, true);
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
CustomItem.registerCustomItem(bind ? "meteoric_iron_helmet_bound" : "meteoric_iron_helmet", item);
|
||||
if (!bind) {
|
||||
CustomItem.registerCustomItem("meteoric_iron_helmet", item);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,9 @@ public interface MeteoricIronArmour {
|
||||
meta.getPersistentDataContainer().set(new NamespacedKey("heliodor", "meteoric_bindable"), PersistentDataType.BOOLEAN, true);
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
CustomItem.registerCustomItem(bind ? "meteoric_iron_chestplate_bound" : "meteoric_iron_chestplate", item);
|
||||
if (!bind) {
|
||||
CustomItem.registerCustomItem("meteoric_iron_chestplate", item);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
@@ -98,7 +100,9 @@ public interface MeteoricIronArmour {
|
||||
meta.getPersistentDataContainer().set(new NamespacedKey("heliodor", "meteoric_bindable"), PersistentDataType.BOOLEAN, true);
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
CustomItem.registerCustomItem(bind ? "meteoric_iron_leggings_bound" : "meteoric_iron_leggings", item);
|
||||
if (!bind) {
|
||||
CustomItem.registerCustomItem("meteoric_iron_leggings", item);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
@@ -122,7 +126,9 @@ public interface MeteoricIronArmour {
|
||||
meta.getPersistentDataContainer().set(new NamespacedKey("heliodor", "meteoric_bindable"), PersistentDataType.BOOLEAN, true);
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
CustomItem.registerCustomItem(bind ? "meteoric_iron_boots_bound" : "meteoric_iron_boots", item);
|
||||
if (!bind) {
|
||||
CustomItem.registerCustomItem("meteoric_iron_boots", item);
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user