diff --git a/src/main/java/elucent/rootsclassic/blockentity/HealerStandingStone.java b/src/main/java/elucent/rootsclassic/blockentity/HealerStandingStone.java index 8378c56..8eda3f8 100644 --- a/src/main/java/elucent/rootsclassic/blockentity/HealerStandingStone.java +++ b/src/main/java/elucent/rootsclassic/blockentity/HealerStandingStone.java @@ -13,6 +13,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class HealerStandingStone extends BEBase { private static final int RADIUS = 10; @@ -40,7 +41,7 @@ public void saveAdditional(CompoundTag tag) { public static void serverTick(Level level, BlockPos pos, BlockState state, HealerStandingStone tile) { tile.ticker++; if (tile.ticker % 20 == 0) { - ArrayList nearbyCreatures = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, + List nearbyCreatures = level.getEntitiesOfClass(LivingEntity.class, new AABB(pos.getX() - RADIUS, pos.getY() - RADIUS, pos.getZ() - RADIUS, pos.getX() + RADIUS, pos.getY() + RADIUS, pos.getZ() + RADIUS)); for (LivingEntity nearbyCreature : nearbyCreatures) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentAllium.java b/src/main/java/elucent/rootsclassic/component/components/ComponentAllium.java index 1a1e016..f5e7d34 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentAllium.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentAllium.java @@ -14,6 +14,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class ComponentAllium extends ComponentBase { @@ -25,7 +26,7 @@ public ComponentAllium() { public void doEffect(Level level, Entity casterEntity, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL && casterEntity instanceof LivingEntity caster) { // int damageDealt = 0; - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); targets.removeIf(target -> target.getUUID() == casterEntity.getUUID()); for (LivingEntity target : targets) { if (target instanceof Player && RootsConfig.COMMON.disablePVP.get()) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentApple.java b/src/main/java/elucent/rootsclassic/component/components/ComponentApple.java index 215fb64..d6db9b7 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentApple.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentApple.java @@ -10,6 +10,7 @@ import net.minecraft.world.level.Level; import java.util.ArrayList; +import java.util.List; public class ComponentApple extends ComponentBase { @@ -20,7 +21,7 @@ public ComponentApple() { @Override public void doEffect(Level level, Entity caster, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL && caster instanceof Player player) { - ArrayList effects = new ArrayList<>(player.getActiveEffects()); + List effects = new ArrayList<>(player.getActiveEffects()); player.removeAllEffects(); for (MobEffectInstance effect : effects) { /* //TODO: Fabric doesn't have Blood Magic diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentBlueOrchid.java b/src/main/java/elucent/rootsclassic/component/components/ComponentBlueOrchid.java index 8f0b12a..2b6b61c 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentBlueOrchid.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentBlueOrchid.java @@ -15,6 +15,7 @@ import net.minecraft.world.phys.Vec3; import java.util.ArrayList; +import java.util.List; public class ComponentBlueOrchid extends ComponentBase { @@ -33,7 +34,7 @@ public void doEffect(Level level, Entity casterEntity, EnumCastType type, double level.setBlockAndUpdate(pos, state); } level.setBlockAndUpdate(pos.above(), state); - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(pos.getX() - size, pos.getY() - size, pos.getZ() - size, pos.getX() + size, pos.getY() + size, pos.getZ() + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(pos.getX() - size, pos.getY() - size, pos.getZ() - size, pos.getX() + size, pos.getY() + size, pos.getZ() + size)); targets.removeIf(target -> target.getUUID() == casterEntity.getUUID()); for (LivingEntity target : targets) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentDandelion.java b/src/main/java/elucent/rootsclassic/component/components/ComponentDandelion.java index 0c51001..078af0d 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentDandelion.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentDandelion.java @@ -11,6 +11,7 @@ import net.minecraft.world.phys.Vec3; import java.util.ArrayList; +import java.util.List; public class ComponentDandelion extends ComponentBase { @@ -21,7 +22,7 @@ public ComponentDandelion() { @Override public void doEffect(Level level, Entity caster, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL) { - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); targets.removeIf(target -> target.getUUID() == caster.getUUID()); for (LivingEntity target : targets) { target.setDeltaMovement(new Vec3(caster.getLookAngle().x, (float) (potency == 0 ? 1.0 : 1.0 + 0.5 * potency), caster.getLookAngle().z)); diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentMidnightBloom.java b/src/main/java/elucent/rootsclassic/component/components/ComponentMidnightBloom.java index 4fdebc3..e9af324 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentMidnightBloom.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentMidnightBloom.java @@ -11,6 +11,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class ComponentMidnightBloom extends ComponentBase { @@ -21,7 +22,7 @@ public ComponentMidnightBloom() { @Override public void doEffect(Level level, Entity caster, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL) { - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size * 6.0, y - size * 6.0, z - size * 6.0, x + size * 6.0, y + size * 6.0, z + size * 6.0)); targets.removeIf(target -> target.getUUID() == caster.getUUID()); for (LivingEntity target : targets) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentNetherWart.java b/src/main/java/elucent/rootsclassic/component/components/ComponentNetherWart.java index e324b8f..dc57cd1 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentNetherWart.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentNetherWart.java @@ -14,6 +14,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class ComponentNetherWart extends ComponentBase { @@ -25,7 +26,7 @@ public ComponentNetherWart() { public void doEffect(Level level, Entity casterEntity, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL) { // int damageDealt = 0; - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); for (LivingEntity target : targets) { if (target.getUUID() != casterEntity.getUUID() && casterEntity instanceof LivingEntity caster) { if (target instanceof Player && RootsConfig.COMMON.disablePVP.get()) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentPinkTulip.java b/src/main/java/elucent/rootsclassic/component/components/ComponentPinkTulip.java index 1b9fc98..1b4f20f 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentPinkTulip.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentPinkTulip.java @@ -14,6 +14,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class ComponentPinkTulip extends ComponentBase { @@ -24,7 +25,7 @@ public ComponentPinkTulip() { @Override public void doEffect(Level level, Entity casterEntity, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL && casterEntity instanceof LivingEntity caster) { - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); targets.removeIf(target -> target.getUUID() == casterEntity.getUUID()); for (LivingEntity target : targets) { if (target instanceof Player && RootsConfig.COMMON.disablePVP.get()) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentRose.java b/src/main/java/elucent/rootsclassic/component/components/ComponentRose.java index 5f39b3d..b3fdcd6 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentRose.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentRose.java @@ -15,6 +15,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class ComponentRose extends ComponentBase { @@ -25,7 +26,7 @@ public ComponentRose() { @Override public void doEffect(Level level, Entity casterEntity, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL && casterEntity instanceof LivingEntity caster) { - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); // int damageDealt = 0; targets.removeIf(target -> target.getUUID() == casterEntity.getUUID()); for (LivingEntity target : targets) { diff --git a/src/main/java/elucent/rootsclassic/component/components/ComponentWhiteTulip.java b/src/main/java/elucent/rootsclassic/component/components/ComponentWhiteTulip.java index b23ee14..d4559c9 100644 --- a/src/main/java/elucent/rootsclassic/component/components/ComponentWhiteTulip.java +++ b/src/main/java/elucent/rootsclassic/component/components/ComponentWhiteTulip.java @@ -16,6 +16,7 @@ import net.minecraft.world.phys.AABB; import java.util.ArrayList; +import java.util.List; public class ComponentWhiteTulip extends ComponentBase { @@ -27,7 +28,7 @@ public ComponentWhiteTulip() { public void doEffect(Level level, Entity casterEntity, EnumCastType type, double x, double y, double z, double potency, double duration, double size) { if (type == EnumCastType.SPELL && casterEntity instanceof LivingEntity caster) { // int damageDealt = 0; - ArrayList targets = (ArrayList) level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); + List targets = level.getEntitiesOfClass(LivingEntity.class, new AABB(x - size, y - size, z - size, x + size, y + size, z + size)); targets.removeIf(target -> target.getUUID() == casterEntity.getUUID()); for (LivingEntity target : targets) { if (target instanceof Player && RootsConfig.COMMON.disablePVP.get()) { diff --git a/src/main/java/elucent/rootsclassic/entity/EntityAccelerator.java b/src/main/java/elucent/rootsclassic/entity/EntityAccelerator.java index d3ddfab..78f4387 100644 --- a/src/main/java/elucent/rootsclassic/entity/EntityAccelerator.java +++ b/src/main/java/elucent/rootsclassic/entity/EntityAccelerator.java @@ -74,10 +74,12 @@ public void tick() { } } } - lifetime--; - if (lifetime <= 0) { - this.level.broadcastEntityEvent(this, (byte) 3); - this.discard(); + if (!level.isClientSide) { + lifetime--; + if (lifetime <= 0) { + this.level.broadcastEntityEvent(this, (byte) 3); + this.discard(); + } } } diff --git a/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java b/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java index 01b1372..61abd05 100644 --- a/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java +++ b/src/main/java/elucent/rootsclassic/entity/EntityTileAccelerator.java @@ -89,10 +89,12 @@ public void tick() { getX() + random.nextDouble(), getY() + random.nextDouble(), getZ() + 1.0, 0, 0, 0); } } - } else { - if (this.tickCount >= lifetime) { - this.level.broadcastEntityEvent(this, (byte) 3); - this.discard(); + if (!level.isClientSide) { + lifetime--; + if (lifetime <= 0) { + this.level.broadcastEntityEvent(this, (byte) 3); + this.discard(); + } } } } diff --git a/src/main/java/elucent/rootsclassic/mutation/MutagenManager.java b/src/main/java/elucent/rootsclassic/mutation/MutagenManager.java index a6976c9..091ac90 100644 --- a/src/main/java/elucent/rootsclassic/mutation/MutagenManager.java +++ b/src/main/java/elucent/rootsclassic/mutation/MutagenManager.java @@ -13,7 +13,7 @@ public class MutagenManager { - public static final ArrayList recipes = new ArrayList<>(); + public static final List recipes = new ArrayList<>(); public static void reload() { recipes.add(new MutagenMidnightBloomRecipe()); diff --git a/src/main/java/elucent/rootsclassic/mutation/MutagenRecipe.java b/src/main/java/elucent/rootsclassic/mutation/MutagenRecipe.java index b4f9b1b..d725395 100644 --- a/src/main/java/elucent/rootsclassic/mutation/MutagenRecipe.java +++ b/src/main/java/elucent/rootsclassic/mutation/MutagenRecipe.java @@ -12,7 +12,7 @@ public class MutagenRecipe { - final ArrayList inputs = new ArrayList<>(); + final List inputs = new ArrayList<>(); final ResourceLocation name; final BlockState plantBlock; public final BlockState result; @@ -33,7 +33,7 @@ public void addIngredient(ItemStack stack) { public boolean matches(List items, Level levelAccessor, BlockPos pos, Player player) { if (levelAccessor.getBlockState(pos).getBlock() == plantBlock.getBlock()) { - ArrayList tempItems = new ArrayList<>(items); + List tempItems = new ArrayList<>(items); for (ItemStack input : inputs) { boolean endIteration = false; for (int j = 0; j < tempItems.size() && !endIteration; j++) { diff --git a/src/main/java/elucent/rootsclassic/research/ResearchBase.java b/src/main/java/elucent/rootsclassic/research/ResearchBase.java index 5821d41..3c92fc8 100644 --- a/src/main/java/elucent/rootsclassic/research/ResearchBase.java +++ b/src/main/java/elucent/rootsclassic/research/ResearchBase.java @@ -3,6 +3,7 @@ import net.minecraft.world.item.ItemStack; import java.util.ArrayList; +import java.util.List; public class ResearchBase { public double posX = 0; @@ -10,7 +11,7 @@ public class ResearchBase { private String name = ""; private final ItemStack icon; private final ResearchBase req = null; - private final ArrayList info = new ArrayList<>(); + private final List info = new ArrayList<>(); public ResearchBase(String name, ItemStack icon) { this.name = name; @@ -34,7 +35,7 @@ public ResearchBase getReq() { return req; } - public ArrayList getInfo() { + public List getInfo() { return info; } } diff --git a/src/main/java/elucent/rootsclassic/research/ResearchGroup.java b/src/main/java/elucent/rootsclassic/research/ResearchGroup.java index 0b595ba..c6db34c 100644 --- a/src/main/java/elucent/rootsclassic/research/ResearchGroup.java +++ b/src/main/java/elucent/rootsclassic/research/ResearchGroup.java @@ -1,11 +1,12 @@ package elucent.rootsclassic.research; import java.util.ArrayList; +import java.util.List; public class ResearchGroup { private String name = ""; private String properName = ""; - public ArrayList researches = new ArrayList<>(); + public List researches = new ArrayList<>(); public ResearchGroup(String name, String properName) { this.name = name; diff --git a/src/main/java/elucent/rootsclassic/research/ResearchManager.java b/src/main/java/elucent/rootsclassic/research/ResearchManager.java index 228714b..7c99383 100644 --- a/src/main/java/elucent/rootsclassic/research/ResearchManager.java +++ b/src/main/java/elucent/rootsclassic/research/ResearchManager.java @@ -15,9 +15,10 @@ import net.minecraft.world.level.block.Blocks; import java.util.ArrayList; +import java.util.List; public class ResearchManager { - public static ArrayList globalResearches = new ArrayList<>(); + public static List globalResearches = new ArrayList<>(); public static void onRecipesUpdated() { RecipesUpdatedCallback.EVENT.register(ResearchManager::reload); diff --git a/src/main/java/elucent/rootsclassic/research/ResearchPage.java b/src/main/java/elucent/rootsclassic/research/ResearchPage.java index 538b523..923b4ab 100644 --- a/src/main/java/elucent/rootsclassic/research/ResearchPage.java +++ b/src/main/java/elucent/rootsclassic/research/ResearchPage.java @@ -6,23 +6,24 @@ import net.minecraft.world.item.ItemStack; import java.util.ArrayList; +import java.util.List; public class ResearchPage { - public ArrayList craftingRecipe = new ArrayList<>(); + public List craftingRecipe = new ArrayList<>(); public ComponentRecipe mortarRecipe = null; public RitualBase altarRecipe = null; - public ArrayList smeltingRecipe = new ArrayList<>(); + public List smeltingRecipe = new ArrayList<>(); public EnumPageType recipe = EnumPageType.TYPE_NULL; public ItemStack displayItem = null; - public ArrayList info = new ArrayList<>(); + public List info = new ArrayList<>(); public String title = ""; public ResearchPage() { } - public ArrayList makeLines(String s) { - ArrayList list = new ArrayList<>(); - ArrayList words = new ArrayList<>(); + public List makeLines(String s) { + List list = new ArrayList<>(); + List words = new ArrayList<>(); StringBuilder temp = new StringBuilder(); int counter = 0; for (int i = 0; i < s.length(); i++) { diff --git a/src/main/java/elucent/rootsclassic/util/RootsUtil.java b/src/main/java/elucent/rootsclassic/util/RootsUtil.java index 3ba6c95..90326e9 100644 --- a/src/main/java/elucent/rootsclassic/util/RootsUtil.java +++ b/src/main/java/elucent/rootsclassic/util/RootsUtil.java @@ -80,11 +80,11 @@ public static int intColor(int r, int g, int b) { } public static boolean itemListMatchInventoryWithSize(Container i1, List i2) { - ArrayList recipe = new ArrayList<>(); + List recipe = new ArrayList<>(); for (int i = 0; i < i1.getContainerSize(); i++) { recipe.add(i1.getItem(i)); } - ArrayList available = new ArrayList<>(i2); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i); @@ -112,11 +112,11 @@ public static boolean itemListMatchInventoryWithSize(Container i1, List i2) { - ArrayList recipe = new ArrayList<>(); + List recipe = new ArrayList<>(); for (int i = 0; i < i1.getContainerSize(); i++) { recipe.add(i1.getItem(i)); } - ArrayList available = new ArrayList<>(i2); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i); @@ -144,8 +144,8 @@ public static boolean itemListMatchInventory(Container i1, List i2) { } public static boolean itemListMatchesIngredients(List i1, List i2) { - ArrayList recipe = new ArrayList<>(i1); - ArrayList available = new ArrayList<>(i2); + List recipe = new ArrayList<>(i1); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i); @@ -173,8 +173,8 @@ public static boolean itemListMatchesIngredients(List i1, List i1, List i2) { - ArrayList recipe = new ArrayList<>(i1); - ArrayList available = new ArrayList<>(i2); + List recipe = new ArrayList<>(i1); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i); @@ -202,8 +202,8 @@ public static boolean itemListMatchesIngredientsWithSize(List i1, Li } public static boolean itemListsMatchWithSize(List i1, List i2) { - ArrayList recipe = new ArrayList<>(i1); - ArrayList available = new ArrayList<>(i2); + List recipe = new ArrayList<>(i1); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i); @@ -231,8 +231,8 @@ public static boolean itemListsMatchWithSize(List i1, List } public static boolean itemListsMatch(List i1, List i2) { - ArrayList recipe = new ArrayList<>(i1); - ArrayList available = new ArrayList<>(i2); + List recipe = new ArrayList<>(i1); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i); @@ -260,8 +260,8 @@ public static boolean itemListsMatch(List i1, List i2) { } public static boolean ingredientListMatch(List i1, List i2) { - ArrayList recipe = new ArrayList<>(i1); - ArrayList available = new ArrayList<>(i2); + List recipe = new ArrayList<>(i1); + List available = new ArrayList<>(i2); for (int i = 0; i < recipe.size(); i++) { if (recipe.get(i).isEmpty()) { recipe.remove(i);