From e0d44ef54e52601b75224f0a5e92108af072d8b6 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 8 Jun 2022 18:53:42 +0200 Subject: [PATCH 1/5] Re-Enabled REI --- build.gradle | 5 +- gradle.properties | 2 +- .../integration/rei/REIAlloyingCategory.java | 172 +++++++------- .../integration/rei/REIAlloyingDisplay.java | 214 ++++++++--------- .../rei/REIAlloyingFuelCategory.java | 211 ++++++++--------- .../rei/REIAlloyingFuelDisplay.java | 54 ++--- .../integration/rei/REIAnvilCategory.java | 180 +++++++------- .../integration/rei/REIAnvilDisplay.java | 126 +++++----- .../integration/rei/REIBlastingDisplay.java | 18 +- .../integration/rei/REIInfusionCategory.java | 222 +++++++++--------- .../integration/rei/REIInfusionDisplay.java | 126 +++++----- .../betterend/integration/rei/REIPlugin.java | 212 ++++++++--------- src/main/resources/fabric.mod.json | 2 +- 13 files changed, 770 insertions(+), 774 deletions(-) diff --git a/build.gradle b/build.gradle index 4690fd86..acbcea3f 100644 --- a/build.gradle +++ b/build.gradle @@ -46,9 +46,8 @@ dependencies { } else { modImplementation "com.github.quiqueck:BCLib:${project.bclib_version}" } - - // useOptional "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}" - //useOptional "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}" + useOptional "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}" + useOptional "me.shedaniel:RoughlyEnoughItems-api-fabric:${project.rei_version}" } def useOptional(String dep) { diff --git a/gradle.properties b/gradle.properties index a5ccca28..81f2db51 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,4 +20,4 @@ archives_base_name=better-end patchouli_version = 55-FABRIC-SNAPSHOT bclib_version = 1.19-SNAPSHOT -rei_version = 9.0.458 +rei_version = 9.0.472 diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java index 90df9739..4abd640f 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java @@ -1,86 +1,86 @@ -//package org.betterx.betterend.integration.rei; -// -// -//import net.minecraft.network.chat.Component; -// -//import com.google.common.collect.Lists; -//import me.shedaniel.math.Point; -//import me.shedaniel.math.Rectangle; -//import me.shedaniel.rei.api.client.gui.widgets.Widget; -//import me.shedaniel.rei.api.client.gui.widgets.Widgets; -//import me.shedaniel.rei.api.client.registry.display.DisplayCategory; -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.entry.EntryIngredient; -//import me.shedaniel.rei.api.common.entry.EntryStack; -//import org.betterx.betterend.registry.EndBlocks; -// -//import java.text.DecimalFormat; -//import java.util.List; -//import org.jetbrains.annotations.NotNull; -// -//public class REIAlloyingCategory implements DisplayCategory { -// private final EntryStack ICON; -// -// REIAlloyingCategory(EntryStack icon) { -// ICON = icon; -// } -// -// @Override -// public @NotNull CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.ALLOYING; -// } -// -// @Override -// public @NotNull Component getTitle() { -// return Component.translatable(EndBlocks.END_STONE_SMELTER.getDescriptionId()); -// } -// -// @Override -// public @NotNull EntryStack getIcon() { -// return ICON; -// } -// -// @Override -// public @NotNull List setupDisplay(REIAlloyingDisplay display, Rectangle bounds) { -// Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); -// double smeltTime = display.getSmeltTime(); -// DecimalFormat df = new DecimalFormat("###.##"); -// List widgets = Lists.newArrayList(); -// widgets.add(Widgets.createRecipeBase(bounds)); -// widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); -// widgets.add(Widgets.createBurningFire(new Point(startPoint.x - 9, startPoint.y + 20)) -// .animationDurationMS(10000)); -// widgets.add(Widgets.createLabel( -// new Point(bounds.x + bounds.width - 5, bounds.y + 5), -// Component.translatable("category.rei.cooking.time&xp", -// df.format(display.getXp()), -// df.format(smeltTime / 20D) -// ) -// ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); -// widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)) -// .animationDurationTicks(smeltTime)); -// List inputEntries = display.getInputEntries(); -// widgets.add(Widgets.createSlot(new Point(startPoint.x - 20, startPoint.y + 1)) -// .entries(inputEntries.get(0)) -// .markInput()); -// if (inputEntries.size() > 1) { -// widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) -// .entries(inputEntries.get(1)) -// .markInput()); -// } else { -// widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) -// .entries(Lists.newArrayList()) -// .markInput()); -// } -// widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)) -// .entries(display.getOutputEntries().get(0)) -// .disableBackground() -// .markOutput()); -// return widgets; -// } -// -// @Override -// public int getDisplayHeight() { -// return 49; -// } -//} \ No newline at end of file +package org.betterx.betterend.integration.rei; + + +import net.minecraft.network.chat.Component; + +import com.google.common.collect.Lists; +import me.shedaniel.math.Point; +import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.client.gui.widgets.Widget; +import me.shedaniel.rei.api.client.gui.widgets.Widgets; +import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.entry.EntryIngredient; +import me.shedaniel.rei.api.common.entry.EntryStack; +import org.betterx.betterend.registry.EndBlocks; + +import java.text.DecimalFormat; +import java.util.List; +import org.jetbrains.annotations.NotNull; + +public class REIAlloyingCategory implements DisplayCategory { + private final EntryStack ICON; + + REIAlloyingCategory(EntryStack icon) { + ICON = icon; + } + + @Override + public @NotNull CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.ALLOYING; + } + + @Override + public @NotNull Component getTitle() { + return Component.translatable(EndBlocks.END_STONE_SMELTER.getDescriptionId()); + } + + @Override + public @NotNull EntryStack getIcon() { + return ICON; + } + + @Override + public @NotNull List setupDisplay(REIAlloyingDisplay display, Rectangle bounds) { + Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); + double smeltTime = display.getSmeltTime(); + DecimalFormat df = new DecimalFormat("###.##"); + List widgets = Lists.newArrayList(); + widgets.add(Widgets.createRecipeBase(bounds)); + widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); + widgets.add(Widgets.createBurningFire(new Point(startPoint.x - 9, startPoint.y + 20)) + .animationDurationMS(10000)); + widgets.add(Widgets.createLabel( + new Point(bounds.x + bounds.width - 5, bounds.y + 5), + Component.translatable("category.rei.cooking.time&xp", + df.format(display.getXp()), + df.format(smeltTime / 20D) + ) + ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)) + .animationDurationTicks(smeltTime)); + List inputEntries = display.getInputEntries(); + widgets.add(Widgets.createSlot(new Point(startPoint.x - 20, startPoint.y + 1)) + .entries(inputEntries.get(0)) + .markInput()); + if (inputEntries.size() > 1) { + widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) + .entries(inputEntries.get(1)) + .markInput()); + } else { + widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) + .entries(Lists.newArrayList()) + .markInput()); + } + widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)) + .entries(display.getOutputEntries().get(0)) + .disableBackground() + .markOutput()); + return widgets; + } + + @Override + public int getDisplayHeight() { + return 49; + } +} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java index 103e4b76..85b2a2c5 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java @@ -1,107 +1,107 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.ChatFormatting; -//import net.minecraft.network.chat.Component; -//import net.minecraft.resources.ResourceLocation; -//import net.minecraft.world.item.Item; -//import net.minecraft.world.item.crafting.Recipe; -// -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; -//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -//import me.shedaniel.rei.api.common.entry.EntryStack; -//import me.shedaniel.rei.api.common.util.EntryIngredients; -//import me.shedaniel.rei.api.common.util.EntryStacks; -//import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; -//import org.betterx.betterend.recipe.builders.AlloyingRecipe; -// -//import java.util.Collections; -//import java.util.List; -//import java.util.Optional; -//import java.util.stream.Collectors; -//import org.jetbrains.annotations.NotNull; -// -//public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDisplay { -// -// private static List fuel; -// -// private Recipe recipe; -// private float xp; -// private double smeltTime; -// -// -// public REIAlloyingDisplay(AlloyingRecipe recipe) { -// this(recipe, recipe.getExperience(), recipe.getSmeltTime()); -// } -// -// protected REIAlloyingDisplay(Recipe recipe, float xp, double smeltTime) { -// super( -// EntryIngredients.ofIngredients(recipe.getIngredients()), -// Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) -// ); -// this.recipe = recipe; -// this.xp = xp; -// this.smeltTime = smeltTime; -// } -// -// -// public static List getFuel() { -// return fuel; -// } -// -// @Override -// public @NotNull Optional getDisplayLocation() { -// return Optional.ofNullable(recipe).map(Recipe::getId); -// } -// -// @Override -// public CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.ALLOYING; -// } -// -// // @Override -// // public @NotNull List> getRequiredEntries() { -// // return this.input; -// // } -// -// public float getXp() { -// return this.xp; -// } -// -// public double getSmeltTime() { -// return this.smeltTime; -// } -// -// public Optional> getOptionalRecipe() { -// return Optional.ofNullable(recipe); -// } -// -// @Override -// public int getWidth() { -// return 2; -// } -// -// @Override -// public int getHeight() { -// return 1; -// } -// -// // @Override -// // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { -// // return this.input; -// // } -// -// static { -// fuel = EndStoneSmelterBlockEntity.availableFuels() -// .keySet() -// .stream() -// .map(Item::getDefaultInstance) -// .map(EntryStacks::of) -// .map(e -> e.setting( -// EntryStack.Settings.TOOLTIP_APPEND_EXTRA, -// stack -> Collections.singletonList(Component.translatable( -// "category.rei.smelting.fuel").withStyle(ChatFormatting.YELLOW)) -// )) -// .collect(Collectors.toList()); -// } -//} \ No newline at end of file +package org.betterx.betterend.integration.rei; + +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Recipe; + +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryIngredients; +import me.shedaniel.rei.api.common.util.EntryStacks; +import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; +import org.betterx.betterend.recipe.builders.AlloyingRecipe; + +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; +import org.jetbrains.annotations.NotNull; + +public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDisplay { + + private static List fuel; + + private Recipe recipe; + private float xp; + private double smeltTime; + + + public REIAlloyingDisplay(AlloyingRecipe recipe) { + this(recipe, recipe.getExperience(), recipe.getSmeltTime()); + } + + protected REIAlloyingDisplay(Recipe recipe, float xp, double smeltTime) { + super( + EntryIngredients.ofIngredients(recipe.getIngredients()), + Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) + ); + this.recipe = recipe; + this.xp = xp; + this.smeltTime = smeltTime; + } + + + public static List getFuel() { + return fuel; + } + + @Override + public @NotNull Optional getDisplayLocation() { + return Optional.ofNullable(recipe).map(Recipe::getId); + } + + @Override + public CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.ALLOYING; + } + + // @Override + // public @NotNull List> getRequiredEntries() { + // return this.input; + // } + + public float getXp() { + return this.xp; + } + + public double getSmeltTime() { + return this.smeltTime; + } + + public Optional> getOptionalRecipe() { + return Optional.ofNullable(recipe); + } + + @Override + public int getWidth() { + return 2; + } + + @Override + public int getHeight() { + return 1; + } + + // @Override + // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { + // return this.input; + // } + + static { + fuel = EndStoneSmelterBlockEntity.availableFuels() + .keySet() + .stream() + .map(Item::getDefaultInstance) + .map(EntryStacks::of) + .map(e -> e.setting( + EntryStack.Settings.TOOLTIP_APPEND_EXTRA, + stack -> Collections.singletonList(Component.translatable( + "category.rei.smelting.fuel").withStyle(ChatFormatting.YELLOW)) + )) + .collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java index ea2536f7..27a04d50 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java @@ -1,107 +1,104 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.client.Minecraft; -//import net.minecraft.network.chat.Component; -//import net.minecraft.world.item.Items; -// -//import com.google.common.collect.Lists; -//import com.mojang.blaze3d.vertex.PoseStack; -//import me.shedaniel.math.Point; -//import me.shedaniel.math.Rectangle; -//import me.shedaniel.rei.api.client.gui.DisplayRenderer; -//import me.shedaniel.rei.api.client.gui.widgets.Slot; -//import me.shedaniel.rei.api.client.gui.widgets.Tooltip; -//import me.shedaniel.rei.api.client.gui.widgets.Widget; -//import me.shedaniel.rei.api.client.gui.widgets.Widgets; -//import me.shedaniel.rei.api.client.registry.display.DisplayCategory; -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.entry.EntryStack; -//import me.shedaniel.rei.api.common.util.EntryStacks; -// -//import java.text.DecimalFormat; -//import java.util.List; -//import org.jetbrains.annotations.NotNull; -//import org.jetbrains.annotations.Nullable; -// -//public class REIAlloyingFuelCategory implements DisplayCategory { -// private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#.##"); -// -// @Override -// public @NotNull CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.ALLOYING_FUEL; -// } -// -// @Override -// public @NotNull Component getTitle() { -// return Component.translatable("category.rei.fuel"); -// } -// -// @Override -// public int getDisplayHeight() { -// return 49; -// } -// -// @Override -// public @NotNull EntryStack getIcon() { -// return EntryStacks.of(Items.LAVA_BUCKET); -// } -// -// @Override -// public List setupDisplay(REIAlloyingFuelDisplay recipeDisplay, Rectangle bounds) { -// Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 17); -// String burnTime = DECIMAL_FORMAT.format(recipeDisplay.getFuelTime()); -// List widgets = Lists.newArrayList(); -// widgets.add(Widgets.createRecipeBase(bounds)); -// widgets.add(Widgets.createLabel( -// new Point(bounds.x + 26, bounds.getMaxY() - 15), -// Component.translatable("category.rei.fuel.time", burnTime) -// ).color(0xFF404040, 0xFFBBBBBB).noShadow().leftAligned()); -// widgets.add(Widgets.createBurningFire(new Point(bounds.x + 6, startPoint.y + 1)) -// .animationDurationTicks(recipeDisplay.getFuelTime())); -// widgets.add(Widgets.createSlot(new Point(bounds.x + 6, startPoint.y + 18)) -// .entries(recipeDisplay.getInputEntries().get(0)) -// .markInput()); -// return widgets; -// } -// -// @Override -// public DisplayRenderer getDisplayRenderer(REIAlloyingFuelDisplay recipe) { -// Slot slot = Widgets.createSlot(new Point(0, 0)) -// .entries(recipe.getInputEntries().get(0)) -// .disableBackground() -// .disableHighlight(); -// String burnItems = DECIMAL_FORMAT.format(recipe.getFuelTime() / 200d); -// return new DisplayRenderer() { -// private Component text = Component.translatable( -// "category.rei.fuel.time_short.items", -// burnItems -// ); -// -// @Override -// public int getHeight() { -// return 22; -// } -// -// @Nullable -// @Override -// public Tooltip getTooltip(Point point) { -// if (slot.containsMouse(point)) return slot.getCurrentTooltip(point); -// return null; -// } -// -// @Override -// public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { -// slot.setZ(getZ() + 50); -// slot.getBounds().setLocation(bounds.x + 4, bounds.y + 2); -// slot.render(matrices, mouseX, mouseY, delta); -// Minecraft.getInstance().font.drawShadow( -// matrices, -// text.getVisualOrderText(), -// bounds.x + 25, -// bounds.y + 8, -// -1 -// ); -// } -// }; -// } -//} \ No newline at end of file +package org.betterx.betterend.integration.rei; + +import net.minecraft.client.Minecraft; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Items; + +import com.google.common.collect.Lists; +import com.mojang.blaze3d.vertex.PoseStack; +import me.shedaniel.math.Point; +import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.client.gui.DisplayRenderer; +import me.shedaniel.rei.api.client.gui.widgets.*; +import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryStacks; + +import java.text.DecimalFormat; +import java.util.List; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class REIAlloyingFuelCategory implements DisplayCategory { + private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("#.##"); + + @Override + public @NotNull CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.ALLOYING_FUEL; + } + + @Override + public @NotNull Component getTitle() { + return Component.translatable("category.rei.fuel"); + } + + @Override + public int getDisplayHeight() { + return 49; + } + + @Override + public @NotNull EntryStack getIcon() { + return EntryStacks.of(Items.LAVA_BUCKET); + } + + @Override + public List setupDisplay(REIAlloyingFuelDisplay recipeDisplay, Rectangle bounds) { + Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 17); + String burnTime = DECIMAL_FORMAT.format(recipeDisplay.getFuelTime()); + List widgets = Lists.newArrayList(); + widgets.add(Widgets.createRecipeBase(bounds)); + widgets.add(Widgets.createLabel( + new Point(bounds.x + 26, bounds.getMaxY() - 15), + Component.translatable("category.rei.fuel.time", burnTime) + ).color(0xFF404040, 0xFFBBBBBB).noShadow().leftAligned()); + widgets.add(Widgets.createBurningFire(new Point(bounds.x + 6, startPoint.y + 1)) + .animationDurationTicks(recipeDisplay.getFuelTime())); + widgets.add(Widgets.createSlot(new Point(bounds.x + 6, startPoint.y + 18)) + .entries(recipeDisplay.getInputEntries().get(0)) + .markInput()); + return widgets; + } + + @Override + public DisplayRenderer getDisplayRenderer(REIAlloyingFuelDisplay recipe) { + Slot slot = Widgets.createSlot(new Point(0, 0)) + .entries(recipe.getInputEntries().get(0)) + .disableBackground() + .disableHighlight(); + String burnItems = DECIMAL_FORMAT.format(recipe.getFuelTime() / 200d); + return new DisplayRenderer() { + private Component text = Component.translatable( + "category.rei.fuel.time_short.items", + burnItems + ); + + @Override + public int getHeight() { + return 22; + } + + @Nullable + @Override + public Tooltip getTooltip(TooltipContext ctx) { + if (slot.containsMouse(ctx.getPoint())) return slot.getCurrentTooltip(ctx); + return null; + } + + @Override + public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { + slot.setZ(getZ() + 50); + slot.getBounds().setLocation(bounds.x + 4, bounds.y + 2); + slot.render(matrices, mouseX, mouseY, delta); + Minecraft.getInstance().font.drawShadow( + matrices, + text.getVisualOrderText(), + bounds.x + 25, + bounds.y + 8, + -1 + ); + } + }; + } +} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java index ec7c1cf4..02f974d8 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelDisplay.java @@ -1,27 +1,27 @@ -//package org.betterx.betterend.integration.rei; -// -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -//import me.shedaniel.rei.api.common.entry.EntryIngredient; -// -//import java.util.Collections; -//import java.util.List; -// -//public class REIAlloyingFuelDisplay extends BasicDisplay { -// private final int fuelTime; -// -// public REIAlloyingFuelDisplay(List fuel, int fuelTime) { -// super(fuel, Collections.emptyList()); -// this.fuelTime = fuelTime; -// } -// -// @Override -// public CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.ALLOYING_FUEL; -// } -// -// public int getFuelTime() { -// return fuelTime; -// } -// -//} +package org.betterx.betterend.integration.rei; + +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +import me.shedaniel.rei.api.common.entry.EntryIngredient; + +import java.util.Collections; +import java.util.List; + +public class REIAlloyingFuelDisplay extends BasicDisplay { + private final int fuelTime; + + public REIAlloyingFuelDisplay(List fuel, int fuelTime) { + super(fuel, Collections.emptyList()); + this.fuelTime = fuelTime; + } + + @Override + public CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.ALLOYING_FUEL; + } + + public int getFuelTime() { + return fuelTime; + } + +} diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java index 00b02b29..c6ebdc5c 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilCategory.java @@ -1,90 +1,90 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.network.chat.Component; -//import net.minecraft.world.item.BlockItem; -//import net.minecraft.world.item.ItemStack; -//import net.minecraft.world.level.block.Block; -//import net.minecraft.world.level.block.Blocks; -// -//import com.google.common.collect.Lists; -//import me.shedaniel.math.Point; -//import me.shedaniel.math.Rectangle; -//import me.shedaniel.rei.api.client.gui.widgets.Widget; -//import me.shedaniel.rei.api.client.gui.widgets.Widgets; -//import me.shedaniel.rei.api.client.registry.display.DisplayCategory; -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.entry.EntryIngredient; -//import me.shedaniel.rei.api.common.entry.EntryStack; -//import org.betterx.betterend.blocks.basis.EndAnvilBlock; -// -//import java.util.Arrays; -//import java.util.List; -//import java.util.stream.Collectors; -//import org.jetbrains.annotations.NotNull; -// -//public class REIAnvilCategory implements DisplayCategory { -// private final EntryStack[] ANVILS; -// -// REIAnvilCategory(EntryStack[] anvils) { -// ANVILS = anvils; -// } -// -// @Override -// public CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.SMITHING; -// } -// -// @Override -// public @NotNull Component getTitle() { -// return Component.translatable(Blocks.ANVIL.getDescriptionId()); -// } -// -// @Override -// public @NotNull EntryStack getIcon() { -// return ANVILS[0]; -// } -// -// -// @Override -// public @NotNull List setupDisplay(REIAnvilDisplay display, Rectangle bounds) { -// Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); -// List widgets = Lists.newArrayList(); -// widgets.add(Widgets.createRecipeBase(bounds)); -// int x = startPoint.x + 10; -// int y = startPoint.y; -// widgets.add(Widgets.createResultSlotBackground(new Point(x + 61, y + 5))); -// List inputEntries = display.getInputEntries(); -// EntryIngredient materials = inputEntries.get(1); -// int anvilLevel = display.getAnvilLevel(); -// List> anvils = Arrays.stream(ANVILS).filter(anvil -> { -// Object value = anvil.getValue(); -// if (value instanceof ItemStack) { -// value = ((ItemStack) value).getItem(); -// } -// Block block = ((BlockItem) value).getBlock(); -// if (block instanceof EndAnvilBlock) { -// return ((EndAnvilBlock) block).getCraftingLevel() >= anvilLevel; -// } -// return anvilLevel == 1; -// }).collect(Collectors.toList()); -// widgets.add(Widgets.createArrow(new Point(x + 24, y + 4))); -// widgets.add(Widgets.createLabel( -// new Point(bounds.x + bounds.width - 7, bounds.y + bounds.height - 15), -// Component.translatable("category.rei.damage.amount&dmg", display.getDamage()) -// ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); -// widgets.add(Widgets.createSlot(new Point(x - 20, y + 4)).entries(materials).markInput()); -// widgets.add(Widgets.createSlot(new Point(x + 1, y + 4)).entries(inputEntries.get(0)).markInput()); -// widgets.add(Widgets.createSlot(new Point(x + 61, y + 5)) -// .entries(display.getOutputEntries().get(0)) -// .disableBackground() -// .markOutput()); -// widgets.add(Widgets.createSlot(new Point(x - 9, y + 25)).entries(anvils)); -// -// return widgets; -// } -// -// @Override -// public int getDisplayHeight() { -// return 60; -// } -//} \ No newline at end of file +package org.betterx.betterend.integration.rei; + +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; + +import com.google.common.collect.Lists; +import me.shedaniel.math.Point; +import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.client.gui.widgets.Widget; +import me.shedaniel.rei.api.client.gui.widgets.Widgets; +import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.entry.EntryIngredient; +import me.shedaniel.rei.api.common.entry.EntryStack; +import org.betterx.betterend.blocks.basis.EndAnvilBlock; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import org.jetbrains.annotations.NotNull; + +public class REIAnvilCategory implements DisplayCategory { + private final EntryStack[] ANVILS; + + REIAnvilCategory(EntryStack[] anvils) { + ANVILS = anvils; + } + + @Override + public CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.SMITHING; + } + + @Override + public @NotNull Component getTitle() { + return Component.translatable(Blocks.ANVIL.getDescriptionId()); + } + + @Override + public @NotNull EntryStack getIcon() { + return ANVILS[0]; + } + + + @Override + public @NotNull List setupDisplay(REIAnvilDisplay display, Rectangle bounds) { + Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); + List widgets = Lists.newArrayList(); + widgets.add(Widgets.createRecipeBase(bounds)); + int x = startPoint.x + 10; + int y = startPoint.y; + widgets.add(Widgets.createResultSlotBackground(new Point(x + 61, y + 5))); + List inputEntries = display.getInputEntries(); + EntryIngredient materials = inputEntries.get(1); + int anvilLevel = display.getAnvilLevel(); + List> anvils = Arrays.stream(ANVILS).filter(anvil -> { + Object value = anvil.getValue(); + if (value instanceof ItemStack) { + value = ((ItemStack) value).getItem(); + } + Block block = ((BlockItem) value).getBlock(); + if (block instanceof EndAnvilBlock) { + return ((EndAnvilBlock) block).getCraftingLevel() >= anvilLevel; + } + return anvilLevel == 1; + }).collect(Collectors.toList()); + widgets.add(Widgets.createArrow(new Point(x + 24, y + 4))); + widgets.add(Widgets.createLabel( + new Point(bounds.x + bounds.width - 7, bounds.y + bounds.height - 15), + Component.translatable("category.rei.damage.amount&dmg", display.getDamage()) + ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + widgets.add(Widgets.createSlot(new Point(x - 20, y + 4)).entries(materials).markInput()); + widgets.add(Widgets.createSlot(new Point(x + 1, y + 4)).entries(inputEntries.get(0)).markInput()); + widgets.add(Widgets.createSlot(new Point(x + 61, y + 5)) + .entries(display.getOutputEntries().get(0)) + .disableBackground() + .markOutput()); + widgets.add(Widgets.createSlot(new Point(x - 9, y + 25)).entries(anvils)); + + return widgets; + } + + @Override + public int getDisplayHeight() { + return 60; + } +} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java index f690084b..83c6e62a 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java @@ -1,63 +1,63 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.resources.ResourceLocation; -//import net.minecraft.world.item.ItemStack; -//import net.minecraft.world.item.crafting.Recipe; -// -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; -//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -//import me.shedaniel.rei.api.common.util.EntryIngredients; -//import org.betterx.bclib.recipes.AnvilRecipe; -// -//import java.util.Collections; -//import java.util.Optional; -//import org.jetbrains.annotations.NotNull; -// -//public class REIAnvilDisplay extends BasicDisplay implements SimpleGridMenuDisplay { -// -// private final AnvilRecipe recipe; -// -// public REIAnvilDisplay(AnvilRecipe recipe) { -// super( -// EntryIngredients.ofIngredients(recipe.getIngredients()), -// Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) -// ); -// this.recipe = recipe; -// -// inputs.get(1).forEach(entryStack -> { -// if (entryStack.getValue() instanceof ItemStack itemStack) { -// itemStack.setCount(recipe.getInputCount()); -// } -// }); -// } -// -// public int getDamage() { -// return recipe.getDamage(); -// } -// -// public int getAnvilLevel() { -// return recipe.getAnvilLevel(); -// } -// -// @Override -// public @NotNull Optional getDisplayLocation() { -// return Optional.ofNullable(recipe).map(Recipe::getId); -// } -// -// @Override -// public CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.SMITHING; -// } -// -// @Override -// public int getWidth() { -// return 2; -// } -// -// @Override -// public int getHeight() { -// return 1; -// } -//} -// +package org.betterx.betterend.integration.rei; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Recipe; + +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +import me.shedaniel.rei.api.common.util.EntryIngredients; +import org.betterx.bclib.recipes.AnvilRecipe; + +import java.util.Collections; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +public class REIAnvilDisplay extends BasicDisplay implements SimpleGridMenuDisplay { + + private final AnvilRecipe recipe; + + public REIAnvilDisplay(AnvilRecipe recipe) { + super( + EntryIngredients.ofIngredients(recipe.getIngredients()), + Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) + ); + this.recipe = recipe; + + inputs.get(1).forEach(entryStack -> { + if (entryStack.getValue() instanceof ItemStack itemStack) { + itemStack.setCount(recipe.getInputCount()); + } + }); + } + + public int getDamage() { + return recipe.getDamage(); + } + + public int getAnvilLevel() { + return recipe.getAnvilLevel(); + } + + @Override + public @NotNull Optional getDisplayLocation() { + return Optional.ofNullable(recipe).map(Recipe::getId); + } + + @Override + public CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.SMITHING; + } + + @Override + public int getWidth() { + return 2; + } + + @Override + public int getHeight() { + return 1; + } +} + diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java index 8cdc9317..2d752276 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIBlastingDisplay.java @@ -1,9 +1,9 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.world.item.crafting.BlastingRecipe; -// -//public class REIBlastingDisplay extends REIAlloyingDisplay { -// public REIBlastingDisplay(BlastingRecipe recipe) { -// super(recipe, recipe.getExperience(), recipe.getCookingTime()); -// } -//} \ No newline at end of file +package org.betterx.betterend.integration.rei; + +import net.minecraft.world.item.crafting.BlastingRecipe; + +public class REIBlastingDisplay extends REIAlloyingDisplay { + public REIBlastingDisplay(BlastingRecipe recipe) { + super(recipe, recipe.getExperience(), recipe.getCookingTime()); + } +} \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java index f3b44248..b1d3eab6 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java @@ -1,111 +1,111 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.network.chat.Component; -//import net.minecraft.resources.ResourceLocation; -// -//import com.google.common.collect.Lists; -//import me.shedaniel.math.Point; -//import me.shedaniel.math.Rectangle; -//import me.shedaniel.rei.api.client.gui.widgets.Widget; -//import me.shedaniel.rei.api.client.gui.widgets.Widgets; -//import me.shedaniel.rei.api.client.registry.display.DisplayCategory; -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.entry.EntryIngredient; -//import me.shedaniel.rei.api.common.entry.EntryStack; -//import org.betterx.betterend.BetterEnd; -//import org.betterx.betterend.registry.EndBlocks; -// -//import java.util.ArrayList; -//import java.util.List; -//import org.jetbrains.annotations.NotNull; -// -//public class REIInfusionCategory implements DisplayCategory { -// -// private final static ResourceLocation BACKGROUND = BetterEnd.makeID("textures/gui/rei_infusion.png"); -// private final EntryStack ICON; -// -// REIInfusionCategory(EntryStack icon) { -// ICON = icon; -// } -// -// @Override -// public @NotNull CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.INFUSION; -// } -// -// @Override -// public @NotNull Component getTitle() { -// return Component.translatable(EndBlocks.INFUSION_PEDESTAL.getDescriptionId()); -// } -// -// @Override -// public @NotNull EntryStack getIcon() { -// return ICON; -// } -// -// @Override -// public @NotNull List setupDisplay(REIInfusionDisplay display, Rectangle bounds) { -// Point centerPoint = new Point(bounds.getCenterX() - 34, bounds.getCenterY() - 2); -// List widgets = Lists.newArrayList(); -// widgets.add(Widgets.createRecipeBase(bounds)); -// List inputEntries = display.getInputEntries(); -// List outputEntries = display.getOutputEntries(); -// if (inputEntries.size() < 9) { -// List newList = new ArrayList(9); -// newList.addAll(inputEntries); -// for (int i = inputEntries.size(); i < 9; i++) { -// newList.add(EntryIngredient.empty()); -// } -// inputEntries = newList; -// } -// widgets.add(Widgets.createTexturedWidget(BACKGROUND, bounds.x, bounds.y, 0, 0, 150, 104, 150, 104)); -// widgets.add(Widgets.createSlot(centerPoint).entries(inputEntries.get(0)).disableBackground().markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y - 28)) -// .entries(inputEntries.get(1)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 28, centerPoint.y)) -// .entries(inputEntries.get(3)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y + 28)) -// .entries(inputEntries.get(5)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x - 28, centerPoint.y)) -// .entries(inputEntries.get(7)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y - 24)) -// .entries(inputEntries.get(2)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y + 24)) -// .entries(inputEntries.get(4)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y + 24)) -// .entries(inputEntries.get(6)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y - 24)) -// .entries(inputEntries.get(8)) -// .disableBackground() -// .markInput()); -// widgets.add(Widgets.createSlot(new Point(centerPoint.x + 80, centerPoint.y)) -// .entries(outputEntries.get(0)) -// .disableBackground() -// .markOutput()); -// widgets.add(Widgets.createLabel( -// new Point(bounds.getMaxX() - 5, bounds.y + 6), -// Component.translatable("category.rei.infusion.time&val", display.getInfusionTime()) -// ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); -// return widgets; -// } -// -// @Override -// public int getDisplayHeight() { -// return 104; -// } -//} -// +package org.betterx.betterend.integration.rei; + +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; + +import com.google.common.collect.Lists; +import me.shedaniel.math.Point; +import me.shedaniel.math.Rectangle; +import me.shedaniel.rei.api.client.gui.widgets.Widget; +import me.shedaniel.rei.api.client.gui.widgets.Widgets; +import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.entry.EntryIngredient; +import me.shedaniel.rei.api.common.entry.EntryStack; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndBlocks; + +import java.util.ArrayList; +import java.util.List; +import org.jetbrains.annotations.NotNull; + +public class REIInfusionCategory implements DisplayCategory { + + private final static ResourceLocation BACKGROUND = BetterEnd.makeID("textures/gui/rei_infusion.png"); + private final EntryStack ICON; + + REIInfusionCategory(EntryStack icon) { + ICON = icon; + } + + @Override + public @NotNull CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.INFUSION; + } + + @Override + public @NotNull Component getTitle() { + return Component.translatable(EndBlocks.INFUSION_PEDESTAL.getDescriptionId()); + } + + @Override + public @NotNull EntryStack getIcon() { + return ICON; + } + + @Override + public @NotNull List setupDisplay(REIInfusionDisplay display, Rectangle bounds) { + Point centerPoint = new Point(bounds.getCenterX() - 34, bounds.getCenterY() - 2); + List widgets = Lists.newArrayList(); + widgets.add(Widgets.createRecipeBase(bounds)); + List inputEntries = display.getInputEntries(); + List outputEntries = display.getOutputEntries(); + if (inputEntries.size() < 9) { + List newList = new ArrayList(9); + newList.addAll(inputEntries); + for (int i = inputEntries.size(); i < 9; i++) { + newList.add(EntryIngredient.empty()); + } + inputEntries = newList; + } + widgets.add(Widgets.createTexturedWidget(BACKGROUND, bounds.x, bounds.y, 0, 0, 150, 104, 150, 104)); + widgets.add(Widgets.createSlot(centerPoint).entries(inputEntries.get(0)).disableBackground().markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y - 28)) + .entries(inputEntries.get(1)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x + 28, centerPoint.y)) + .entries(inputEntries.get(3)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x, centerPoint.y + 28)) + .entries(inputEntries.get(5)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x - 28, centerPoint.y)) + .entries(inputEntries.get(7)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y - 24)) + .entries(inputEntries.get(2)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x + 24, centerPoint.y + 24)) + .entries(inputEntries.get(4)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y + 24)) + .entries(inputEntries.get(6)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x - 24, centerPoint.y - 24)) + .entries(inputEntries.get(8)) + .disableBackground() + .markInput()); + widgets.add(Widgets.createSlot(new Point(centerPoint.x + 80, centerPoint.y)) + .entries(outputEntries.get(0)) + .disableBackground() + .markOutput()); + widgets.add(Widgets.createLabel( + new Point(bounds.getMaxX() - 5, bounds.y + 6), + Component.translatable("category.rei.infusion.time&val", display.getInfusionTime()) + ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + return widgets; + } + + @Override + public int getDisplayHeight() { + return 104; + } +} + diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java index e6cd9a93..07e24ba1 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java @@ -1,63 +1,63 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.resources.ResourceLocation; -//import net.minecraft.world.item.crafting.Recipe; -// -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; -//import me.shedaniel.rei.api.common.display.basic.BasicDisplay; -//import me.shedaniel.rei.api.common.util.EntryIngredients; -//import org.betterx.betterend.recipe.builders.InfusionRecipe; -// -//import java.util.Collections; -//import java.util.Optional; -//import org.jetbrains.annotations.NotNull; -// -//public class REIInfusionDisplay extends BasicDisplay implements SimpleGridMenuDisplay { -// -// private final InfusionRecipe recipe; -// private final int time; -// -// public REIInfusionDisplay(InfusionRecipe recipe) { -// super( -// EntryIngredients.ofIngredients(recipe.getIngredients()), -// Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) -// ); -// this.recipe = recipe; -// this.time = recipe.getInfusionTime(); -// } -// -// public int getInfusionTime() { -// return this.time; -// } -// -// @Override -// public @NotNull Optional getDisplayLocation() { -// return Optional.ofNullable(recipe).map(Recipe::getId); -// } -// -// @Override -// public CategoryIdentifier getCategoryIdentifier() { -// return REIPlugin.INFUSION; -// } -// -// // @Override -// // public @NotNull List> getRequiredEntries() { -// // return this.input; -// // } -// -// @Override -// public int getWidth() { -// return 0; -// } -// -// @Override -// public int getHeight() { -// return 0; -// } -// -// // @Override -// // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { -// // return this.input; -// //} -//} +package org.betterx.betterend.integration.rei; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.crafting.Recipe; + +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; +import me.shedaniel.rei.api.common.display.basic.BasicDisplay; +import me.shedaniel.rei.api.common.util.EntryIngredients; +import org.betterx.betterend.recipe.builders.InfusionRecipe; + +import java.util.Collections; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +public class REIInfusionDisplay extends BasicDisplay implements SimpleGridMenuDisplay { + + private final InfusionRecipe recipe; + private final int time; + + public REIInfusionDisplay(InfusionRecipe recipe) { + super( + EntryIngredients.ofIngredients(recipe.getIngredients()), + Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) + ); + this.recipe = recipe; + this.time = recipe.getInfusionTime(); + } + + public int getInfusionTime() { + return this.time; + } + + @Override + public @NotNull Optional getDisplayLocation() { + return Optional.ofNullable(recipe).map(Recipe::getId); + } + + @Override + public CategoryIdentifier getCategoryIdentifier() { + return REIPlugin.INFUSION; + } + + // @Override + // public @NotNull List> getRequiredEntries() { + // return this.input; + // } + + @Override + public int getWidth() { + return 0; + } + + @Override + public int getHeight() { + return 0; + } + + // @Override + // public List> getOrganisedInputEntries(ContainerInfo containerInfo, AbstractContainerMenu container) { + // return this.input; + //} +} diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java index 4ff5940b..420de164 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java @@ -1,106 +1,106 @@ -//package org.betterx.betterend.integration.rei; -// -//import net.minecraft.resources.ResourceLocation; -//import net.minecraft.world.item.ItemStack; -//import net.minecraft.world.item.crafting.BlastingRecipe; -//import net.minecraft.world.item.crafting.RecipeType; -//import net.minecraft.world.level.block.Blocks; -// -//import net.fabricmc.fabric.api.registry.FuelRegistry; -//import net.fabricmc.fabric.impl.content.registry.FuelRegistryImpl; -// -//import com.google.common.collect.Lists; -//import me.shedaniel.rei.api.client.plugins.REIClientPlugin; -//import me.shedaniel.rei.api.client.registry.category.CategoryRegistry; -//import me.shedaniel.rei.api.client.registry.display.DisplayRegistry; -//import me.shedaniel.rei.api.common.category.CategoryIdentifier; -//import me.shedaniel.rei.api.common.entry.EntryIngredient; -//import me.shedaniel.rei.api.common.entry.EntryStack; -//import me.shedaniel.rei.api.common.util.EntryIngredients; -//import me.shedaniel.rei.api.common.util.EntryStacks; -//import me.shedaniel.rei.plugin.common.BuiltinPlugin; -//import org.betterx.bclib.blocks.BaseFurnaceBlock; -//import org.betterx.bclib.recipes.AnvilRecipe; -//import org.betterx.betterend.BetterEnd; -//import org.betterx.betterend.blocks.basis.EndAnvilBlock; -//import org.betterx.betterend.recipe.builders.AlloyingRecipe; -//import org.betterx.betterend.recipe.builders.InfusionRecipe; -//import org.betterx.betterend.registry.EndBlocks; -// -//import java.util.Collections; -//import java.util.List; -//import java.util.stream.Collectors; -// -// -////https://github.com/shedaniel/RoughlyEnoughItems/blob/6.x-1.17/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java -//public class REIPlugin implements REIClientPlugin { -// public final static ResourceLocation PLUGIN_ID = BetterEnd.makeID("rei_plugin"); -// public final static CategoryIdentifier ALLOYING_FUEL = CategoryIdentifier.of( -// BetterEnd.MOD_ID, -// "alloying_fuel" -// ); -// public final static CategoryIdentifier ALLOYING = CategoryIdentifier.of( -// BetterEnd.MOD_ID, -// AlloyingRecipe.GROUP -// ); -// public final static CategoryIdentifier SMITHING = CategoryIdentifier.of( -// BetterEnd.MOD_ID, -// AnvilRecipe.ID.getPath() -// ); -// public final static CategoryIdentifier INFUSION = CategoryIdentifier.of( -// BetterEnd.MOD_ID, -// InfusionRecipe.GROUP -// ); -// -// @Override -// public void registerDisplays(DisplayRegistry registry) { -// registry.registerRecipeFiller(AlloyingRecipe.class, AlloyingRecipe.TYPE, REIAlloyingDisplay::new); -// registry.registerRecipeFiller(BlastingRecipe.class, RecipeType.BLASTING, REIBlastingDisplay::new); -// registry.registerRecipeFiller(AnvilRecipe.class, AnvilRecipe.TYPE, REIAnvilDisplay::new); -// registry.registerRecipeFiller(InfusionRecipe.class, InfusionRecipe.TYPE, REIInfusionDisplay::new); -// -// //TODO: Migrate to 1.18/1.18.2 -// if (FuelRegistry.INSTANCE instanceof FuelRegistryImpl fabricImpl) { -// fabricImpl.getFuelTimes().forEach((item, time) -> { -// if (time >= 2000) { -// final List list = Collections.singletonList(EntryIngredients.of(item)); -// registry.add(new REIAlloyingFuelDisplay(list, time)); -// } -// }); -// } -// } -// -// @Override -// public void registerCategories(CategoryRegistry registry) { -// EntryStack endStoneSmelter = EntryStacks.of(EndBlocks.END_STONE_SMELTER); -// EntryStack infusionRitual = EntryStacks.of(EndBlocks.INFUSION_PEDESTAL); -// List> anvils = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() -// .stream() -// .filter(EndAnvilBlock.class::isInstance) -// .collect(Collectors.toList()))); -// anvils.add(0, EntryStacks.of(Blocks.ANVIL)); -// List> ITEM_FURNACES = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() -// .stream() -// .filter(BaseFurnaceBlock.class::isInstance) -// .collect(Collectors.toList()))); -// EntryStack[] anvilsArray = anvils.toArray(new EntryStack[0]); -// EntryStack[] ITEM_FURNACESArray = ITEM_FURNACES.toArray(new EntryStack[0]); -// -// registry.add( -// new REIAlloyingFuelCategory(), -// new REIAlloyingCategory(endStoneSmelter), -// new REIInfusionCategory(infusionRitual), -// new REIAnvilCategory(anvilsArray) -// ); -// -// registry.addWorkstations(ALLOYING_FUEL, endStoneSmelter); -// registry.addWorkstations(ALLOYING, endStoneSmelter); -// registry.addWorkstations(INFUSION, infusionRitual); -// registry.addWorkstations(SMITHING, anvilsArray); -// registry.removePlusButton(ALLOYING_FUEL); -// registry.removePlusButton(SMITHING); -// -// registry.addWorkstations(BuiltinPlugin.SMELTING, ITEM_FURNACESArray); -// registry.addWorkstations(BuiltinPlugin.FUEL, ITEM_FURNACESArray); -// } -//} \ No newline at end of file +package org.betterx.betterend.integration.rei; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.BlastingRecipe; +import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.block.Blocks; + +import net.fabricmc.fabric.api.registry.FuelRegistry; +import net.fabricmc.fabric.impl.content.registry.FuelRegistryImpl; + +import com.google.common.collect.Lists; +import me.shedaniel.rei.api.client.plugins.REIClientPlugin; +import me.shedaniel.rei.api.client.registry.category.CategoryRegistry; +import me.shedaniel.rei.api.client.registry.display.DisplayRegistry; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.entry.EntryIngredient; +import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.api.common.util.EntryIngredients; +import me.shedaniel.rei.api.common.util.EntryStacks; +import me.shedaniel.rei.plugin.common.BuiltinPlugin; +import org.betterx.bclib.blocks.BaseFurnaceBlock; +import org.betterx.bclib.recipes.AnvilRecipe; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.basis.EndAnvilBlock; +import org.betterx.betterend.recipe.builders.AlloyingRecipe; +import org.betterx.betterend.recipe.builders.InfusionRecipe; +import org.betterx.betterend.registry.EndBlocks; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + + +//https://github.com/shedaniel/RoughlyEnoughItems/blob/6.x-1.17/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +public class REIPlugin implements REIClientPlugin { + public final static ResourceLocation PLUGIN_ID = BetterEnd.makeID("rei_plugin"); + public final static CategoryIdentifier ALLOYING_FUEL = CategoryIdentifier.of( + BetterEnd.MOD_ID, + "alloying_fuel" + ); + public final static CategoryIdentifier ALLOYING = CategoryIdentifier.of( + BetterEnd.MOD_ID, + AlloyingRecipe.GROUP + ); + public final static CategoryIdentifier SMITHING = CategoryIdentifier.of( + BetterEnd.MOD_ID, + AnvilRecipe.ID.getPath() + ); + public final static CategoryIdentifier INFUSION = CategoryIdentifier.of( + BetterEnd.MOD_ID, + InfusionRecipe.GROUP + ); + + @Override + public void registerDisplays(DisplayRegistry registry) { + registry.registerRecipeFiller(AlloyingRecipe.class, AlloyingRecipe.TYPE, REIAlloyingDisplay::new); + registry.registerRecipeFiller(BlastingRecipe.class, RecipeType.BLASTING, REIBlastingDisplay::new); + registry.registerRecipeFiller(AnvilRecipe.class, AnvilRecipe.TYPE, REIAnvilDisplay::new); + registry.registerRecipeFiller(InfusionRecipe.class, InfusionRecipe.TYPE, REIInfusionDisplay::new); + + //TODO: Migrate to 1.18/1.18.2 + if (FuelRegistry.INSTANCE instanceof FuelRegistryImpl fabricImpl) { + fabricImpl.getFuelTimes().forEach((item, time) -> { + if (time >= 2000) { + final List list = Collections.singletonList(EntryIngredients.of(item)); + registry.add(new REIAlloyingFuelDisplay(list, time)); + } + }); + } + } + + @Override + public void registerCategories(CategoryRegistry registry) { + EntryStack endStoneSmelter = EntryStacks.of(EndBlocks.END_STONE_SMELTER); + EntryStack infusionRitual = EntryStacks.of(EndBlocks.INFUSION_PEDESTAL); + List> anvils = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() + .stream() + .filter(EndAnvilBlock.class::isInstance) + .collect(Collectors.toList()))); + anvils.add(0, EntryStacks.of(Blocks.ANVIL)); + List> ITEM_FURNACES = Lists.newArrayList(EntryIngredients.ofItems(EndBlocks.getModBlocks() + .stream() + .filter(BaseFurnaceBlock.class::isInstance) + .collect(Collectors.toList()))); + EntryStack[] anvilsArray = anvils.toArray(new EntryStack[0]); + EntryStack[] ITEM_FURNACESArray = ITEM_FURNACES.toArray(new EntryStack[0]); + + registry.add( + new REIAlloyingFuelCategory(), + new REIAlloyingCategory(endStoneSmelter), + new REIInfusionCategory(infusionRitual), + new REIAnvilCategory(anvilsArray) + ); + + registry.addWorkstations(ALLOYING_FUEL, endStoneSmelter); + registry.addWorkstations(ALLOYING, endStoneSmelter); + registry.addWorkstations(INFUSION, infusionRitual); + registry.addWorkstations(SMITHING, anvilsArray); + registry.removePlusButton(ALLOYING_FUEL); + registry.removePlusButton(SMITHING); + + registry.addWorkstations(BuiltinPlugin.SMELTING, ITEM_FURNACESArray); + registry.addWorkstations(BuiltinPlugin.FUEL, ITEM_FURNACESArray); + } +} \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 93715689..47b99d2f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -28,7 +28,7 @@ "client": [ "org.betterx.betterend.client.BetterEndClient" ], - "rei_plugins_disabled": [ + "rei_plugins": [ "org.betterx.betterend.integration.rei.REIPlugin" ] }, From 72bb944fb243b9c8c9de55fb73a0dce62ec37617 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 8 Jun 2022 19:32:41 +0200 Subject: [PATCH 2/5] Migrated REI Entry Point --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 47b99d2f..3cbd5b93 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -28,7 +28,7 @@ "client": [ "org.betterx.betterend.client.BetterEndClient" ], - "rei_plugins": [ + "rei_client": [ "org.betterx.betterend.integration.rei.REIPlugin" ] }, From 237e0385cfa3f99b04e9144b58959b4e2408adfc Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 8 Jun 2022 19:37:41 +0200 Subject: [PATCH 3/5] Checked some ToDo's --- .../java/org/betterx/betterend/integration/rei/REIPlugin.java | 1 - .../world/structures/features/FeatureBaseStructure.java | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java index 420de164..edccc261 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java @@ -59,7 +59,6 @@ public class REIPlugin implements REIClientPlugin { registry.registerRecipeFiller(AnvilRecipe.class, AnvilRecipe.TYPE, REIAnvilDisplay::new); registry.registerRecipeFiller(InfusionRecipe.class, InfusionRecipe.TYPE, REIInfusionDisplay::new); - //TODO: Migrate to 1.18/1.18.2 if (FuelRegistry.INSTANCE instanceof FuelRegistryImpl fabricImpl) { fabricImpl.getFuelTimes().forEach((item, time) -> { if (time >= 2000) { diff --git a/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java index c6d914ae..3be95b16 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java @@ -32,8 +32,7 @@ public abstract class FeatureBaseStructure extends Structure { context.chunkGenerator(), context.heightAccessor(), context.randomState()); - //TODO: 1.19 Do we need isValidBiome? This should now be handled by the BiomeTags... - if (pos.getZ() >= 20 && BCLStructure.isValidBiome(context)) { + if (pos.getZ() >= 20 ) { return Optional.of(new Structure.GenerationStub(pos, (structurePiecesBuilder) -> { generatePieces(structurePiecesBuilder, context); })); From fc1da134e7a260556e3bf6545cd178ba6ec67dae Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 8 Jun 2022 19:59:09 +0200 Subject: [PATCH 4/5] Version Updated --- gradle.properties | 2 +- src/main/resources/fabric.mod.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 81f2db51..8a7ac1e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,5 +19,5 @@ archives_base_name=better-end # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api patchouli_version = 55-FABRIC-SNAPSHOT -bclib_version = 1.19-SNAPSHOT +bclib_version = 2.0.1 rei_version = 9.0.472 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 3cbd5b93..d03edd76 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -42,8 +42,9 @@ "fabricloader": ">=0.14.6", "fabric": ">=0.55.2", "minecraft": "1.19", - "bclib": "2.0.0" + "bclib": "2.0.x" }, + "breaks": {"bclib": "<2.0.1"}, "suggests": { "byg": ">=1.1.3", "blockus": ">=2.0.2", From 60e8008cb77dd767ecc4ddca4dc7d01d749ee3ba Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 8 Jun 2022 20:58:41 +0200 Subject: [PATCH 5/5] Reformated --- .../java/org/betterx/betterend/BetterEnd.java | 18 +- .../betterend/blocks/AeterniumAnvil.java | 10 +- .../betterend/blocks/AeterniumBlock.java | 18 +- .../betterend/blocks/AmaranitaCapBlock.java | 6 +- .../blocks/AmaranitaHymenophoreBlock.java | 10 +- .../betterend/blocks/AmaranitaStemBlock.java | 4 +- .../betterx/betterend/blocks/AmberBlock.java | 4 +- .../blocks/AncientEmeraldIceBlock.java | 14 +- .../betterend/blocks/AuroraCrystalBlock.java | 41 +- .../betterend/blocks/BlueVineBlock.java | 8 +- .../blocks/BlueVineLanternBlock.java | 24 +- .../betterend/blocks/BlueVineSeedBlock.java | 26 +- .../betterend/blocks/BoluxMushroomBlock.java | 5 +- .../betterend/blocks/BrimstoneBlock.java | 22 +- .../betterend/blocks/BubbleCoralBlock.java | 6 +- .../betterend/blocks/BulbVineBlock.java | 11 +- .../blocks/BulbVineLanternBlock.java | 17 +- .../blocks/BulbVineLanternColoredBlock.java | 8 +- .../betterend/blocks/BulbVineSeedBlock.java | 20 +- .../betterend/blocks/CavePumpkinBlock.java | 12 +- .../blocks/CavePumpkinVineBlock.java | 24 +- .../betterend/blocks/ChandelierBlock.java | 21 +- .../betterend/blocks/CharcoalBlock.java | 4 +- .../betterend/blocks/CharniaBlock.java | 4 +- .../betterend/blocks/ChorusGrassBlock.java | 4 +- .../blocks/DenseEmeraldIceBlock.java | 8 +- .../betterend/blocks/DenseSnowBlock.java | 4 +- .../blocks/DragonTreeSaplingBlock.java | 8 +- .../betterend/blocks/EmeraldIceBlock.java | 22 +- .../betterend/blocks/EndBlockProperties.java | 6 +- .../betterend/blocks/EndLilyBlock.java | 31 +- .../betterend/blocks/EndLilySeedBlock.java | 18 +- .../betterend/blocks/EndLotusFlowerBlock.java | 7 +- .../betterend/blocks/EndLotusLeafBlock.java | 16 +- .../betterend/blocks/EndLotusSeedBlock.java | 18 +- .../betterend/blocks/EndLotusStemBlock.java | 27 +- .../betterx/betterend/blocks/EndPedestal.java | 5 +- .../betterend/blocks/EndPortalBlock.java | 55 +- .../betterend/blocks/EndStoneSmelter.java | 33 +- .../betterx/betterend/blocks/EnderBlock.java | 4 +- .../betterend/blocks/EndstoneDustBlock.java | 16 +- .../betterend/blocks/EternalPedestal.java | 25 +- .../betterend/blocks/FilaluxBlock.java | 4 +- .../betterend/blocks/FilaluxLanternBlock.java | 6 +- .../betterend/blocks/FilaluxWingsBlock.java | 9 +- .../betterend/blocks/FlamaeaBlock.java | 7 +- .../betterend/blocks/FlammalixBlock.java | 8 +- .../betterend/blocks/FlowerPotBlock.java | 81 +- .../blocks/GlowingHymenophoreBlock.java | 6 +- .../betterend/blocks/GlowingMossBlock.java | 6 +- .../blocks/GlowingPillarLuminophorBlock.java | 22 +- .../blocks/GlowingPillarRootsBlock.java | 10 +- .../blocks/GlowingPillarSeedBlock.java | 22 +- .../blocks/HelixTreeLeavesBlock.java | 34 +- .../blocks/HelixTreeSaplingBlock.java | 8 +- .../betterend/blocks/HydraluxBlock.java | 21 +- .../betterend/blocks/HydraluxPetalBlock.java | 8 +- .../blocks/HydraluxPetalColoredBlock.java | 10 +- .../blocks/HydraluxSaplingBlock.java | 22 +- .../blocks/HydrothermalVentBlock.java | 48 +- .../betterend/blocks/InfusionPedestal.java | 16 +- .../betterend/blocks/JellyshroomCapBlock.java | 19 +- .../blocks/LacugroveSaplingBlock.java | 8 +- .../betterend/blocks/LanceleafBlock.java | 26 +- .../betterend/blocks/LanceleafSeedBlock.java | 22 +- .../betterend/blocks/LargeAmaranitaBlock.java | 12 +- .../blocks/LucerniaSaplingBlock.java | 8 +- .../betterend/blocks/LumecornBlock.java | 38 +- .../betterend/blocks/LumecornSeedBlock.java | 11 +- .../betterend/blocks/MengerSpongeBlock.java | 47 +- .../blocks/MengerSpongeWetBlock.java | 24 +- .../betterend/blocks/MissingTileBlock.java | 4 +- .../blocks/MossyDragonBoneBlock.java | 8 +- .../blocks/MossyGlowshroomCapBlock.java | 12 +- .../blocks/MossyGlowshroomSaplingBlock.java | 8 +- .../betterend/blocks/MossyObsidian.java | 6 +- .../betterend/blocks/MurkweedBlock.java | 6 +- .../betterend/blocks/NeedlegrassBlock.java | 11 +- .../betterend/blocks/NeonCactusBlock.java | 4 +- .../blocks/NeonCactusPlantBlock.java | 71 +- .../betterend/blocks/PallidiumBlock.java | 30 +- .../betterend/blocks/PedestalVanilla.java | 4 +- .../betterend/blocks/PondAnemoneBlock.java | 6 +- .../blocks/PythadendronSaplingBlock.java | 8 +- .../betterend/blocks/RespawnObeliskBlock.java | 65 +- .../betterend/blocks/RunedFlavolite.java | 11 +- .../betterend/blocks/ShadowBerryBlock.java | 8 +- .../betterend/blocks/ShadowGrassBlock.java | 12 +- .../betterend/blocks/SilkMothHiveBlock.java | 30 +- .../betterend/blocks/SilkMothNestBlock.java | 48 +- .../betterend/blocks/SmallAmaranitaBlock.java | 26 +- .../blocks/SmallJellyshroomBlock.java | 22 +- .../blocks/SmaragdantCrystalBlock.java | 6 +- .../blocks/SmaragdantCrystalShardBlock.java | 9 +- .../betterend/blocks/SulphurCrystalBlock.java | 15 +- .../betterend/blocks/TenaneaFlowersBlock.java | 12 +- .../betterend/blocks/TenaneaSaplingBlock.java | 8 +- .../betterend/blocks/TerrainPlantBlock.java | 4 +- .../blocks/TwistedUmbrellaMossBlock.java | 10 +- .../blocks/TwistedUmbrellaMossTallBlock.java | 6 +- .../betterend/blocks/UmbrellaMossBlock.java | 10 +- .../blocks/UmbrellaMossTallBlock.java | 6 +- .../blocks/UmbrellaTreeClusterBlock.java | 38 +- .../blocks/UmbrellaTreeClusterEmptyBlock.java | 18 +- .../blocks/UmbrellaTreeMembraneBlock.java | 13 +- .../blocks/UmbrellaTreeSaplingBlock.java | 10 +- .../blocks/VentBubbleColumnBlock.java | 26 +- .../betterend/blocks/basis/EndAnvilBlock.java | 4 +- .../blocks/basis/EndLanternBlock.java | 30 +- .../betterend/blocks/basis/EndPlantBlock.java | 6 +- .../blocks/basis/EndPlantWithAgeBlock.java | 4 +- .../blocks/basis/EndTerrainBlock.java | 10 +- .../blocks/basis/EndTripleTerrain.java | 6 +- .../blocks/basis/EndUnderwaterPlantBlock.java | 4 +- .../basis/EndUnderwaterWallPlantBlock.java | 4 +- .../blocks/basis/EndWallMushroom.java | 4 +- .../blocks/basis/EndWallPlantBlock.java | 4 +- .../betterend/blocks/basis/FurBlock.java | 19 +- .../betterend/blocks/basis/LitBaseBlock.java | 4 +- .../blocks/basis/LitPillarBlock.java | 4 +- .../betterend/blocks/basis/PedestalBlock.java | 73 +- .../blocks/basis/PottableCropBlock.java | 6 +- .../blocks/basis/PottableFeatureSapling.java | 5 +- .../blocks/basis/PottableLeavesBlock.java | 6 +- .../blocks/basis/StoneLanternBlock.java | 12 +- .../entities/BlockEntityHydrothermalVent.java | 44 +- .../entities/EndStoneSmelterBlockEntity.java | 25 +- .../entities/EternalPedestalEntity.java | 6 +- .../entities/InfusionPedestalEntity.java | 16 +- .../blocks/entities/PedestalBlockEntity.java | 8 +- .../betterend/client/BetterEndClient.java | 22 +- .../gui/EndStoneSmelterRecipeBookScreen.java | 4 +- .../client/gui/EndStoneSmelterScreen.java | 10 +- .../gui/EndStoneSmelterScreenHandler.java | 25 +- .../client/gui/slot/SmelterFuelSlot.java | 4 +- .../client/gui/slot/SmelterOutputSlot.java | 4 +- .../betterend/client/models/Patterns.java | 3 +- .../client/render/ArmoredElytraLayer.java | 36 +- .../betterend/client/render/BeamRenderer.java | 149 ++-- .../client/render/BetterEndSkyRenderer.java | 153 ++-- .../client/render/EndCrystalRenderer.java | 27 +- .../client/render/EternalCrystalRenderer.java | 42 +- .../client/render/PedestalItemRenderer.java | 58 +- .../betterend/commands/CommandRegistry.java | 30 +- .../complexmaterials/ColoredMaterial.java | 23 +- .../CrystalSubblocksMaterial.java | 8 +- .../EndWoodenComplexMaterial.java | 16 +- .../complexmaterials/MetalMaterial.java | 80 +- .../complexmaterials/StoneMaterial.java | 12 +- .../org/betterx/betterend/config/Configs.java | 6 +- .../betterx/betterend/effects/EndPotions.java | 10 +- .../betterend/effects/EndStatusEffects.java | 48 +- .../betterend/entity/CubozoaEntity.java | 24 +- .../betterend/entity/DragonflyEntity.java | 16 +- .../betterend/entity/EndFishEntity.java | 24 +- .../betterend/entity/EndSlimeEntity.java | 52 +- .../betterend/entity/ShadowWalkerEntity.java | 12 +- .../betterend/entity/SilkMothEntity.java | 40 +- .../entity/model/CubozoaEntityModel.java | 48 +- .../entity/model/DragonflyEntityModel.java | 60 +- .../entity/model/EndFishEntityModel.java | 52 +- .../entity/model/EndSlimeEntityModel.java | 45 +- .../entity/model/SilkMothEntityModel.java | 70 +- .../entity/render/RendererEntityCubozoa.java | 55 +- .../render/RendererEntityDragonfly.java | 10 +- .../entity/render/RendererEntityEndFish.java | 55 +- .../entity/render/RendererEntityEndSlime.java | 119 +-- .../render/RendererEntityShadowWalker.java | 6 +- .../entity/render/SilkMothEntityRenderer.java | 8 +- .../betterend/events/ItemTooltipCallback.java | 2 +- .../events/PlayerAdvancementsCallback.java | 2 +- .../integration/EnderscapeIntegration.java | 18 +- .../FlamboyantRefabricatedIntegration.java | 7 +- .../betterend/integration/Integrations.java | 12 +- .../integration/NourishIntegration.java | 12 +- .../betterend/integration/byg/BYGBlocks.java | 4 +- .../byg/biomes/NightshadeRedwoods.java | 16 +- .../byg/biomes/OldBulbisGardens.java | 16 +- .../integration/byg/features/BYGFeatures.java | 6 +- .../byg/features/BigEtherTreeFeature.java | 15 +- .../NightshadeRedwoodTreeFeature.java | 29 +- .../byg/features/OldBulbisTreeFeature.java | 59 +- .../integration/rei/REIAlloyingCategory.java | 14 +- .../integration/rei/REIAlloyingDisplay.java | 17 +- .../rei/REIAlloyingFuelCategory.java | 10 +- .../integration/rei/REIAnvilCategory.java | 5 +- .../integration/rei/REIAnvilDisplay.java | 5 +- .../integration/rei/REIInfusionCategory.java | 7 +- .../integration/rei/REIInfusionDisplay.java | 5 +- .../betterend/integration/rei/REIPlugin.java | 25 +- .../betterend/interfaces/MultiModelItem.java | 4 +- .../betterx/betterend/item/ArmoredElytra.java | 52 +- .../betterend/item/CrystaliteArmor.java | 8 +- .../betterend/item/CrystaliteBoots.java | 8 +- .../betterend/item/CrystaliteChestplate.java | 8 +- .../betterend/item/CrystaliteElytra.java | 34 +- .../betterend/item/CrystaliteHelmet.java | 8 +- .../betterend/item/CrystaliteLeggings.java | 6 +- .../betterx/betterend/item/EnchantedItem.java | 8 +- .../betterx/betterend/item/EndArmorItem.java | 18 +- .../betterx/betterend/item/EndBucketItem.java | 6 +- .../betterend/item/EternalCrystalItem.java | 4 +- .../betterx/betterend/item/GuideBookItem.java | 10 +- .../item/material/EndArmorMaterial.java | 24 +- .../item/material/EndToolMaterial.java | 20 +- .../item/model/ArmoredElytraModel.java | 4 +- .../item/model/CrystaliteArmorProvider.java | 31 +- .../item/model/CrystaliteBootsModel.java | 13 +- .../item/model/CrystaliteChestplateModel.java | 39 +- .../item/model/CrystaliteHelmetModel.java | 11 +- .../item/model/CrystaliteLeggingsModel.java | 15 +- .../betterend/item/tool/EndHammerItem.java | 46 +- .../betterend/item/tool/EndPickaxe.java | 4 +- .../mixin/client/ArmorStandRendererMixin.java | 3 +- .../mixin/client/BiomeColorsMixin.java | 9 +- .../mixin/client/CapeLayerMixin.java | 29 +- .../mixin/client/EndEffectsMixin.java | 3 +- .../client/HumanoidMobRendererMixin.java | 19 +- .../mixin/client/ItemStackMixin.java | 11 +- .../mixin/client/LocalPlayerMixin.java | 13 +- .../mixin/client/MinecraftClientMixin.java | 5 +- .../mixin/client/ModelLoaderMixin.java | 5 +- .../mixin/client/MusicTrackerMixin.java | 7 +- .../mixin/client/PlayerRendererMixin.java | 11 +- .../mixin/common/BlockBehaviourMixin.java | 13 +- .../mixin/common/ChorusFlowerBlockMixin.java | 43 +- .../mixin/common/ChorusPlantBlockMixin.java | 39 +- .../mixin/common/ChorusPlantFeatureMixin.java | 15 +- .../mixin/common/EnchantmentMenuMixin.java | 5 +- .../mixin/common/EndCityFeatureMixin.java | 9 +- .../mixin/common/EndDragonFightMixin.java | 7 +- .../mixin/common/EndPodiumFeatureMixin.java | 19 +- .../betterend/mixin/common/EndSpikeMixin.java | 7 +- .../betterend/mixin/common/EnderManMixin.java | 7 +- .../betterend/mixin/common/EntityMixin.java | 5 +- .../betterend/mixin/common/LevelMixin.java | 3 +- .../mixin/common/LivingEntityMixin.java | 15 +- .../betterend/mixin/common/MonsterMixin.java | 14 +- .../mixin/common/NoiseChunkMixin.java | 29 +- .../common/NoiseGeneratorSettingsMixin.java | 3 +- .../mixin/common/PlayerAdvancementsMixin.java | 12 +- .../betterend/mixin/common/PlayerMixin.java | 27 +- .../mixin/common/ServerLevelMixin.java | 75 +- .../mixin/common/ServerPlayerMixin.java | 20 +- .../betterend/mixin/common/SlimeMixin.java | 3 +- .../mixin/common/SpikeFeatureMixin.java | 48 +- .../betterend/noise/OpenSimplexNoise.java | 6 +- .../betterend/particle/FireflyParticle.java | 40 +- .../betterend/particle/InfusionParticle.java | 38 +- .../particle/InfusionParticleType.java | 30 +- .../particle/ParticleBlackSpore.java | 40 +- .../betterend/particle/ParticleGeyser.java | 40 +- .../particle/ParticleGlowingSphere.java | 40 +- .../particle/ParticleJungleSpore.java | 40 +- .../betterend/particle/ParticleSnowflake.java | 40 +- .../betterend/particle/ParticleSulphur.java | 40 +- .../particle/ParticleTenaneaPetal.java | 44 +- .../particle/PaticlePortalSphere.java | 22 +- .../particle/SmaragdantParticle.java | 40 +- .../betterend/recipe/AlloyingRecipes.java | 6 +- .../betterend/recipe/AnvilRecipes.java | 4 +- .../betterend/recipe/CraftingRecipes.java | 20 +- .../betterend/recipe/FurnaceRecipes.java | 10 +- .../betterend/recipe/InfusionRecipes.java | 8 +- .../betterend/recipe/SmithingRecipes.java | 4 +- .../recipe/builders/AlloyingRecipe.java | 39 +- .../recipe/builders/InfusionRecipe.java | 21 +- .../betterend/registry/EndAttributes.java | 8 +- .../betterx/betterend/registry/EndBiomes.java | 10 +- .../betterend/registry/EndBlockEntities.java | 26 +- .../registry/EndBlockEntityRenders.java | 4 +- .../betterx/betterend/registry/EndBlocks.java | 464 +++++++---- .../betterend/registry/EndEnchantments.java | 6 +- .../betterend/registry/EndEntities.java | 60 +- .../registry/EndEntitiesRenders.java | 28 +- .../betterend/registry/EndFeatures.java | 774 ++++++++++++------ .../betterx/betterend/registry/EndItems.java | 318 ++++--- .../betterend/registry/EndModelProviders.java | 3 +- .../betterend/registry/EndParticles.java | 20 +- .../betterend/registry/EndPoiTypes.java | 3 +- .../betterend/registry/EndPortals.java | 11 +- .../betterend/registry/EndScreens.java | 4 +- .../betterx/betterend/registry/EndSounds.java | 4 +- .../betterend/registry/EndStructures.java | 28 +- .../betterx/betterend/registry/EndTags.java | 25 +- .../betterend/rituals/EternalRitual.java | 101 +-- .../betterend/rituals/InfusionRitual.java | 12 +- .../betterx/betterend/tab/CreativeTabs.java | 8 +- .../betterx/betterend/util/BlockFixer.java | 19 +- .../betterend/util/BonemealPlants.java | 21 +- .../betterx/betterend/util/LootTableUtil.java | 21 +- .../betterend/util/StructureErode.java | 15 +- .../betterend/world/biome/EndBiome.java | 18 +- .../world/biome/air/BiomeIceStarfield.java | 4 +- .../biome/cave/EmptyAuroraCaveBiome.java | 4 +- .../world/biome/cave/EmptyEndCaveBiome.java | 4 +- .../biome/cave/EmptySmaragdantCaveBiome.java | 4 +- .../world/biome/cave/EndCaveBiome.java | 16 +- .../world/biome/cave/JadeCaveBiome.java | 16 +- .../world/biome/cave/LushAuroraCaveBiome.java | 8 +- .../biome/cave/LushSmaragdantCaveBiome.java | 6 +- .../world/biome/land/AmberLandBiome.java | 8 +- .../biome/land/BlossomingSpiresBiome.java | 6 +- .../world/biome/land/ChorusForestBiome.java | 14 +- .../biome/land/CrystalMountainsBiome.java | 6 +- .../biome/land/DragonGraveyardsBiome.java | 6 +- .../world/biome/land/DryShrublandBiome.java | 8 +- .../world/biome/land/DustWastelandsBiome.java | 21 +- .../biome/land/FoggyMushroomlandBiome.java | 8 +- .../biome/land/GlowingGrasslandsBiome.java | 8 +- .../world/biome/land/LanternWoodsBiome.java | 8 +- .../world/biome/land/MegalakeBiome.java | 6 +- .../world/biome/land/MegalakeGroveBiome.java | 6 +- .../world/biome/land/NeonOasisBiome.java | 27 +- .../biome/land/PaintedMountainsBiome.java | 8 +- .../world/biome/land/ShadowForestBiome.java | 10 +- .../world/biome/land/SulphurSpringsBiome.java | 26 +- .../world/biome/land/UmbraValleyBiome.java | 33 +- .../world/biome/land/UmbrellaJungleBiome.java | 8 +- .../world/features/BiomeIslandFeature.java | 16 +- .../world/features/BlueVineFeature.java | 24 +- .../world/features/BuildingListFeature.java | 19 +- .../world/features/CavePumpkinFeature.java | 12 +- .../world/features/CrashedShipFeature.java | 28 +- .../world/features/DoublePlantFeature.java | 22 +- .../world/features/EndLilyFeature.java | 6 +- .../world/features/EndLotusFeature.java | 6 +- .../world/features/EndLotusLeafFeature.java | 26 +- .../world/features/FilaluxFeature.java | 16 +- .../features/FullHeightScatterFeature.java | 22 +- .../world/features/GlowPillarFeature.java | 18 +- .../world/features/HydraluxFeature.java | 6 +- .../features/InvertedScatterFeature.java | 22 +- .../world/features/LanceleafFeature.java | 18 +- .../betterend/world/features/ListFeature.java | 4 +- .../world/features/MengerSpongeFeature.java | 6 +- .../betterend/world/features/NBTFeature.java | 22 +- .../world/features/NeonCactusFeature.java | 8 +- .../world/features/ScatterFeature.java | 24 +- .../world/features/SilkMothNestFeature.java | 12 +- .../SingleInvertedScatterFeature.java | 18 +- .../world/features/SinglePlantFeature.java | 22 +- .../world/features/SkyScatterFeature.java | 18 +- .../features/UnderwaterPlantFeature.java | 18 +- .../features/UnderwaterPlantScatter.java | 16 +- .../betterend/world/features/VineFeature.java | 22 +- .../world/features/WallPlantFeature.java | 8 +- .../world/features/WallScatterFeature.java | 8 +- .../world/features/bushes/BushFeature.java | 22 +- .../features/bushes/BushWithOuterFeature.java | 24 +- .../bushes/LargeAmaranitaFeature.java | 16 +- .../world/features/bushes/Lumecorn.java | 16 +- .../features/bushes/TenaneaBushFeature.java | 25 +- .../world/features/terrain/ArchFeature.java | 20 +- .../terrain/BigAuroraCrystalFeature.java | 16 +- .../features/terrain/DesertLakeFeature.java | 32 +- .../features/terrain/EndLakeFeature.java | 20 +- .../features/terrain/FallenPillarFeature.java | 20 +- .../terrain/FloatingSpireFeature.java | 49 +- .../world/features/terrain/GeyserFeature.java | 42 +- .../features/terrain/IceStarFeature.java | 16 +- .../terrain/ObsidianBoulderFeature.java | 18 +- .../ObsidianPillarBasementFeature.java | 20 +- .../features/terrain/OreLayerFeature.java | 16 +- .../features/terrain/SingleBlockFeature.java | 8 +- .../terrain/SmaragdantCrystalFeature.java | 12 +- .../world/features/terrain/SpireFeature.java | 39 +- .../features/terrain/StalactiteFeature.java | 10 +- .../features/terrain/SulphurHillFeature.java | 14 +- .../terrain/SulphuricCaveFeature.java | 28 +- .../terrain/SulphuricLakeFeature.java | 22 +- .../features/terrain/SurfaceVentFeature.java | 14 +- .../features/terrain/ThinArchFeature.java | 32 +- .../caves/CaveChunkPopulatorFeature.java | 49 +- .../terrain/caves/EndCaveFeature.java | 45 +- .../terrain/caves/RoundCaveFeature.java | 9 +- .../terrain/caves/TunelCaveFeature.java | 62 +- .../features/trees/DragonTreeFeature.java | 43 +- .../trees/GiganticAmaranitaFeature.java | 20 +- .../features/trees/HelixTreeFeature.java | 48 +- .../features/trees/JellyshroomFeature.java | 21 +- .../features/trees/LacugroveFeature.java | 38 +- .../world/features/trees/LucerniaFeature.java | 49 +- .../trees/MossyGlowshroomFeature.java | 20 +- .../trees/PythadendronTreeFeature.java | 44 +- .../world/features/trees/TenaneaFeature.java | 39 +- .../features/trees/UmbrellaTreeFeature.java | 37 +- .../world/generator/GeneratorOptions.java | 4 +- .../world/generator/IslandLayer.java | 11 +- .../world/generator/LayerOptions.java | 20 +- .../world/generator/TerrainGenerator.java | 17 +- .../features/EternalPortalStructure.java | 14 +- .../features/FeatureBaseStructure.java | 68 +- .../features/GiantIceStarStructure.java | 22 +- .../GiantMossyGlowshroomStructure.java | 30 +- .../features/MegaLakeSmallStructure.java | 8 +- .../features/MegaLakeStructure.java | 8 +- .../features/MountainStructure.java | 8 +- .../features/PaintedMountainStructure.java | 24 +- .../features/SDFStructureFeature.java | 16 +- .../world/structures/piece/BasePiece.java | 6 +- .../world/structures/piece/CavePiece.java | 30 +- .../piece/CrystalMountainPiece.java | 36 +- .../world/structures/piece/LakePiece.java | 49 +- .../world/structures/piece/MountainPiece.java | 23 +- .../world/structures/piece/NBTPiece.java | 42 +- .../piece/PaintedMountainPiece.java | 40 +- .../world/structures/piece/VoxelPiece.java | 22 +- .../world/surface/SplitNoiseCondition.java | 6 +- .../SulphuricSurfaceNoiseCondition.java | 26 +- .../surface/UmbraSurfaceNoiseCondition.java | 26 +- .../rendering/v1/ArmorRenderingRegistry.java | 270 +++--- .../rendering/ArmorProviderExtensions.java | 17 +- .../rendering/ArmorRenderingRegistryImpl.java | 107 +-- .../rendering/MixinArmorFeatureRenderer.java | 174 ++-- .../mixin/client/rendering/MixinItem.java | 49 +- 416 files changed, 5772 insertions(+), 4573 deletions(-) diff --git a/src/main/java/org/betterx/betterend/BetterEnd.java b/src/main/java/org/betterx/betterend/BetterEnd.java index 1f99132e..c695d6b4 100644 --- a/src/main/java/org/betterx/betterend/BetterEnd.java +++ b/src/main/java/org/betterx/betterend/BetterEnd.java @@ -1,11 +1,5 @@ package org.betterx.betterend; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.biome.Biomes; - -import net.fabricmc.api.ModInitializer; -import net.fabricmc.loader.api.FabricLoader; - import org.betterx.bclib.api.v2.WorldDataAPI; import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; import org.betterx.bclib.util.Logger; @@ -21,6 +15,12 @@ import org.betterx.betterend.util.LootTableUtil; import org.betterx.betterend.world.generator.GeneratorOptions; import org.betterx.betterend.world.generator.TerrainGenerator; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.biome.Biomes; + +import net.fabricmc.api.ModInitializer; +import net.fabricmc.loader.api.FabricLoader; + public class BetterEnd implements ModInitializer { public static final String MOD_ID = "betterend"; public static final Logger LOGGER = new Logger(MOD_ID); @@ -60,8 +60,10 @@ public class BetterEnd implements ModInitializer { if (GeneratorOptions.useNewGenerator()) { org.betterx.bclib.api.v2.generator.GeneratorOptions.setFarEndBiomes(GeneratorOptions.getIslandDistBlock()); - org.betterx.bclib.api.v2.generator.GeneratorOptions.setEndLandFunction((pos) -> TerrainGenerator.isLand(pos.x, - pos.y)); + org.betterx.bclib.api.v2.generator.GeneratorOptions.setEndLandFunction((pos) -> TerrainGenerator.isLand( + pos.x, + pos.y + )); } BiomeAPI.registerEndBiomeModification((biomeID, biome) -> { diff --git a/src/main/java/org/betterx/betterend/blocks/AeterniumAnvil.java b/src/main/java/org/betterx/betterend/blocks/AeterniumAnvil.java index ed2b03bd..a4b8118a 100644 --- a/src/main/java/org/betterx/betterend/blocks/AeterniumAnvil.java +++ b/src/main/java/org/betterx/betterend/blocks/AeterniumAnvil.java @@ -1,15 +1,15 @@ package org.betterx.betterend.blocks; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.BlockItem; - -import net.fabricmc.fabric.api.item.v1.FabricItemSettings; - import org.betterx.bclib.items.BaseAnvilItem; import org.betterx.betterend.blocks.basis.EndAnvilBlock; import org.betterx.betterend.item.material.EndToolMaterial; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.BlockItem; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; + public class AeterniumAnvil extends EndAnvilBlock { public AeterniumAnvil() { super(EndBlocks.AETERNIUM_BLOCK.defaultMaterialColor(), EndToolMaterial.AETERNIUM.getLevel()); diff --git a/src/main/java/org/betterx/betterend/blocks/AeterniumBlock.java b/src/main/java/org/betterx/betterend/blocks/AeterniumBlock.java index cb8a16e0..78332bbb 100644 --- a/src/main/java/org/betterx/betterend/blocks/AeterniumBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AeterniumBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.CustomItemProvider; + import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.BlockItem; import net.minecraft.world.level.block.SoundType; @@ -9,18 +12,15 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.CustomItemProvider; - public class AeterniumBlock extends BaseBlock implements CustomItemProvider { public AeterniumBlock() { super(FabricBlockSettings - .of(Material.METAL, MaterialColor.COLOR_GRAY) - .hardness(65F) - .resistance(1200F) - .requiresCorrectToolForDrops() - .sound(SoundType.NETHERITE_BLOCK) - ); + .of(Material.METAL, MaterialColor.COLOR_GRAY) + .hardness(65F) + .resistance(1200F) + .requiresCorrectToolForDrops() + .sound(SoundType.NETHERITE_BLOCK) + ); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/AmaranitaCapBlock.java b/src/main/java/org/betterx/betterend/blocks/AmaranitaCapBlock.java index d199b3c3..8bbe7b01 100644 --- a/src/main/java/org/betterx/betterend/blocks/AmaranitaCapBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AmaranitaCapBlock.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.tools.AddMineableAxe; + import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.tools.AddMineableAxe; - public class AmaranitaCapBlock extends BaseBlock implements AddMineableAxe { public AmaranitaCapBlock() { super(FabricBlockSettings.of(Material.WOOD).sound(SoundType.WOOD)); diff --git a/src/main/java/org/betterx/betterend/blocks/AmaranitaHymenophoreBlock.java b/src/main/java/org/betterx/betterend/blocks/AmaranitaHymenophoreBlock.java index 5a4e6caf..54b24236 100644 --- a/src/main/java/org/betterx/betterend/blocks/AmaranitaHymenophoreBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AmaranitaHymenophoreBlock.java @@ -1,15 +1,15 @@ package org.betterx.betterend.blocks; -import net.minecraft.world.level.block.SoundType; -import net.minecraft.world.level.material.Material; - -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import org.betterx.bclib.blocks.BaseBlock; import org.betterx.bclib.client.render.BCLRenderLayer; import org.betterx.bclib.interfaces.RenderLayerProvider; import org.betterx.bclib.interfaces.tools.AddMineableAxe; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.material.Material; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + public class AmaranitaHymenophoreBlock extends BaseBlock implements RenderLayerProvider, AddMineableAxe { public AmaranitaHymenophoreBlock() { super(FabricBlockSettings.of(Material.WOOD).sound(SoundType.WOOD)); diff --git a/src/main/java/org/betterx/betterend/blocks/AmaranitaStemBlock.java b/src/main/java/org/betterx/betterend/blocks/AmaranitaStemBlock.java index 91edbbf3..bc49e67b 100644 --- a/src/main/java/org/betterx/betterend/blocks/AmaranitaStemBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AmaranitaStemBlock.java @@ -1,12 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseRotatedPillarBlock; + import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseRotatedPillarBlock; - public class AmaranitaStemBlock extends BaseRotatedPillarBlock { public AmaranitaStemBlock() { super(FabricBlockSettings.copyOf(Blocks.OAK_PLANKS).mapColor(MaterialColor.COLOR_LIGHT_GREEN)); diff --git a/src/main/java/org/betterx/betterend/blocks/AmberBlock.java b/src/main/java/org/betterx/betterend/blocks/AmberBlock.java index 6734c3d2..140be91b 100644 --- a/src/main/java/org/betterx/betterend/blocks/AmberBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AmberBlock.java @@ -1,12 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; - public class AmberBlock extends BaseBlock { public AmberBlock() { super(FabricBlockSettings.copyOf(Blocks.DIAMOND_BLOCK).mapColor(MaterialColor.COLOR_YELLOW)); diff --git a/src/main/java/org/betterx/betterend/blocks/AncientEmeraldIceBlock.java b/src/main/java/org/betterx/betterend/blocks/AncientEmeraldIceBlock.java index f96e3037..7ba5ff0f 100644 --- a/src/main/java/org/betterx/betterend/blocks/AncientEmeraldIceBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AncientEmeraldIceBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndParticles; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -16,12 +22,6 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndParticles; - import java.util.Collections; import java.util.List; @@ -68,7 +68,7 @@ public class AncientEmeraldIceBlock extends BaseBlock { 0.5, 0.5, 0 - ); + ); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/AuroraCrystalBlock.java b/src/main/java/org/betterx/betterend/blocks/AuroraCrystalBlock.java index 7f2f0171..6e2ed730 100644 --- a/src/main/java/org/betterx/betterend/blocks/AuroraCrystalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/AuroraCrystalBlock.java @@ -1,5 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineableHammer; +import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.core.BlockPos; @@ -21,14 +30,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineableHammer; -import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndItems; import java.util.List; @@ -39,21 +40,23 @@ public class AuroraCrystalBlock extends AbstractGlassBlock implements RenderLaye public AuroraCrystalBlock() { super(FabricBlockSettings - .of(Material.GLASS) - .hardness(1F) - .resistance(1F) - .luminance(15) - .noOcclusion() - .isSuffocating((state, world, pos) -> false) - .sound(SoundType.GLASS)); + .of(Material.GLASS) + .hardness(1F) + .resistance(1F) + .luminance(15) + .noOcclusion() + .isSuffocating((state, world, pos) -> false) + .sound(SoundType.GLASS)); } @Override @Deprecated - public VoxelShape getVisualShape(BlockState blockState, - BlockGetter blockGetter, - BlockPos blockPos, - CollisionContext collisionContext) { + public VoxelShape getVisualShape( + BlockState blockState, + BlockGetter blockGetter, + BlockPos blockPos, + CollisionContext collisionContext + ) { return this.getCollisionShape(blockState, blockGetter, blockPos, collisionContext); } diff --git a/src/main/java/org/betterx/betterend/blocks/BlueVineBlock.java b/src/main/java/org/betterx/betterend/blocks/BlueVineBlock.java index 3094ba9b..d901c913 100644 --- a/src/main/java/org/betterx/betterend/blocks/BlueVineBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BlueVineBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.UpDownPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.UpDownPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class BlueVineBlock extends UpDownPlantBlock { public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; diff --git a/src/main/java/org/betterx/betterend/blocks/BlueVineLanternBlock.java b/src/main/java/org/betterx/betterend/blocks/BlueVineLanternBlock.java index c8dff07d..a9275dee 100644 --- a/src/main/java/org/betterx/betterend/blocks/BlueVineLanternBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BlueVineLanternBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.interfaces.tools.AddMineableAxe; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.LevelAccessor; @@ -14,11 +19,6 @@ import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.interfaces.tools.AddMineableAxe; -import org.betterx.betterend.registry.EndBlocks; - public class BlueVineLanternBlock extends BaseBlock implements AddMineableAxe { public static final BooleanProperty NATURAL = BlockProperties.NATURAL; @@ -37,12 +37,14 @@ public class BlueVineLanternBlock extends BaseBlock implements AddMineableAxe { @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!canSurvive(state, world, pos)) { return Blocks.AIR.defaultBlockState(); } else { diff --git a/src/main/java/org/betterx/betterend/blocks/BlueVineSeedBlock.java b/src/main/java/org/betterx/betterend/blocks/BlueVineSeedBlock.java index 7aec736d..39ff7c92 100644 --- a/src/main/java/org/betterx/betterend/blocks/BlueVineSeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BlueVineSeedBlock.java @@ -1,12 +1,5 @@ package org.betterx.betterend.blocks; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.blocks.BlockProperties; import org.betterx.bclib.util.BlocksHelper; import org.betterx.bclib.util.MHelper; @@ -14,6 +7,13 @@ import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; import org.betterx.betterend.blocks.basis.FurBlock; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; + public class BlueVineSeedBlock extends EndPlantWithAgeBlock { public BlueVineSeedBlock() { super(p -> p.offsetType(BlockBehaviour.OffsetType.NONE)); @@ -31,21 +31,21 @@ public class BlueVineSeedBlock extends EndPlantWithAgeBlock { pos, EndBlocks.BLUE_VINE.defaultBlockState() .setValue(BlockProperties.TRIPLE_SHAPE, BlockProperties.TripleShape.BOTTOM) - ); + ); for (int i = 1; i < height; i++) { BlocksHelper.setWithoutUpdate( world, pos.above(i), EndBlocks.BLUE_VINE.defaultBlockState() .setValue(BlockProperties.TRIPLE_SHAPE, BlockProperties.TripleShape.MIDDLE) - ); + ); } BlocksHelper.setWithoutUpdate( world, pos.above(height), EndBlocks.BLUE_VINE.defaultBlockState() .setValue(BlockProperties.TRIPLE_SHAPE, BlockProperties.TripleShape.TOP) - ); + ); placeLantern(world, pos.above(height + 1)); } @@ -54,7 +54,7 @@ public class BlueVineSeedBlock extends EndPlantWithAgeBlock { world, pos, EndBlocks.BLUE_VINE_LANTERN.defaultBlockState().setValue(BlueVineLanternBlock.NATURAL, true) - ); + ); for (Direction dir : BlocksHelper.HORIZONTAL) { BlockPos p = pos.relative(dir); if (world.isEmptyBlock(p)) { @@ -62,7 +62,7 @@ public class BlueVineSeedBlock extends EndPlantWithAgeBlock { world, p, EndBlocks.BLUE_VINE_FUR.defaultBlockState().setValue(FurBlock.FACING, dir) - ); + ); } } if (world.isEmptyBlock(pos.above())) { @@ -70,7 +70,7 @@ public class BlueVineSeedBlock extends EndPlantWithAgeBlock { world, pos.above(), EndBlocks.BLUE_VINE_FUR.defaultBlockState().setValue(FurBlock.FACING, Direction.UP) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/blocks/BoluxMushroomBlock.java b/src/main/java/org/betterx/betterend/blocks/BoluxMushroomBlock.java index 5eea70a5..6d80da56 100644 --- a/src/main/java/org/betterx/betterend/blocks/BoluxMushroomBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BoluxMushroomBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.item.ItemStack; @@ -13,8 +16,6 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import com.google.common.collect.Lists; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/BrimstoneBlock.java b/src/main/java/org/betterx/betterend/blocks/BrimstoneBlock.java index 963b4ffe..b326e484 100644 --- a/src/main/java/org/betterx/betterend/blocks/BrimstoneBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BrimstoneBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -19,11 +24,6 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - import org.jetbrains.annotations.Nullable; public class BrimstoneBlock extends BaseBlock { @@ -40,11 +40,13 @@ public class BrimstoneBlock extends BaseBlock { } @Override - public void setPlacedBy(Level world, - BlockPos pos, - BlockState state, - @Nullable LivingEntity placer, - ItemStack itemStack) { + public void setPlacedBy( + Level world, + BlockPos pos, + BlockState state, + @Nullable LivingEntity placer, + ItemStack itemStack + ) { if (world.isClientSide()) { updateChunks((ClientLevel) world, pos); } diff --git a/src/main/java/org/betterx/betterend/blocks/BubbleCoralBlock.java b/src/main/java/org/betterx/betterend/blocks/BubbleCoralBlock.java index 3b6f4813..45f9bb28 100644 --- a/src/main/java/org/betterx/betterend/blocks/BubbleCoralBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BubbleCoralBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; + import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.util.RandomSource; @@ -17,9 +20,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; - public class BubbleCoralBlock extends EndUnderwaterPlantBlock implements AddMineableShears { private static final VoxelShape SHAPE = Block.box(0, 0, 0, 16, 14, 16); diff --git a/src/main/java/org/betterx/betterend/blocks/BulbVineBlock.java b/src/main/java/org/betterx/betterend/blocks/BulbVineBlock.java index b04f74c0..e81b773a 100644 --- a/src/main/java/org/betterx/betterend/blocks/BulbVineBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BulbVineBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseVineBlock; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -8,11 +14,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.loot.LootContext; import com.google.common.collect.Lists; -import org.betterx.bclib.blocks.BaseVineBlock; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/BulbVineLanternBlock.java b/src/main/java/org/betterx/betterend/blocks/BulbVineLanternBlock.java index 5428a842..adac7fdf 100644 --- a/src/main/java/org/betterx/betterend/blocks/BulbVineLanternBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BulbVineLanternBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.BlockModelProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; +import org.betterx.betterend.blocks.basis.EndLanternBlock; +import org.betterx.betterend.client.models.Patterns; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -17,13 +25,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Maps; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.BlockModelProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; -import org.betterx.betterend.blocks.basis.EndLanternBlock; -import org.betterx.betterend.client.models.Patterns; import java.util.Map; import java.util.Optional; @@ -68,7 +69,7 @@ public class BulbVineLanternBlock extends EndLanternBlock implements RenderLayer ? Patterns.createJson( Patterns.BLOCK_BULB_LANTERN_FLOOR, textures - ) + ) : Patterns.createJson(Patterns.BLOCK_BULB_LANTERN_CEIL, textures); return ModelsHelper.fromPattern(pattern); } diff --git a/src/main/java/org/betterx/betterend/blocks/BulbVineLanternColoredBlock.java b/src/main/java/org/betterx/betterend/blocks/BulbVineLanternColoredBlock.java index 28053efe..adf4b224 100644 --- a/src/main/java/org/betterx/betterend/blocks/BulbVineLanternColoredBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BulbVineLanternColoredBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.ColorUtil; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.ColorUtil; - public class BulbVineLanternColoredBlock extends BulbVineLanternBlock implements CustomColorProvider { public BulbVineLanternColoredBlock(FabricBlockSettings settings) { super(settings); diff --git a/src/main/java/org/betterx/betterend/blocks/BulbVineSeedBlock.java b/src/main/java/org/betterx/betterend/blocks/BulbVineSeedBlock.java index c8d4326f..b943bb36 100644 --- a/src/main/java/org/betterx/betterend/blocks/BulbVineSeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/BulbVineSeedBlock.java @@ -1,12 +1,5 @@ package org.betterx.betterend.blocks; -import net.minecraft.core.BlockPos; -import net.minecraft.tags.BlockTags; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.LevelReader; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BlockProperties; import org.betterx.bclib.blocks.BlockProperties.TripleShape; @@ -14,6 +7,13 @@ import org.betterx.bclib.util.BlocksHelper; import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.tags.BlockTags; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.state.BlockState; + public class BulbVineSeedBlock extends EndPlantWithAgeBlock { @Override @@ -30,20 +30,20 @@ public class BulbVineSeedBlock extends EndPlantWithAgeBlock { world, pos, EndBlocks.BULB_VINE.defaultBlockState().setValue(BlockProperties.TRIPLE_SHAPE, TripleShape.TOP) - ); + ); for (int i = 1; i < h; i++) { BlocksHelper.setWithoutUpdate( world, pos.below(i), EndBlocks.BULB_VINE.defaultBlockState() .setValue(BlockProperties.TRIPLE_SHAPE, TripleShape.MIDDLE) - ); + ); } BlocksHelper.setWithoutUpdate( world, pos.below(h), EndBlocks.BULB_VINE.defaultBlockState().setValue(BlockProperties.TRIPLE_SHAPE, TripleShape.BOTTOM) - ); + ); } } } diff --git a/src/main/java/org/betterx/betterend/blocks/CavePumpkinBlock.java b/src/main/java/org/betterx/betterend/blocks/CavePumpkinBlock.java index 74d4e4fe..cbb741f9 100644 --- a/src/main/java/org/betterx/betterend/blocks/CavePumpkinBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/CavePumpkinBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -15,12 +21,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.betterend.registry.EndBlocks; - import java.util.Collections; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/CavePumpkinVineBlock.java b/src/main/java/org/betterx/betterend/blocks/CavePumpkinVineBlock.java index 66a8d1a1..d9f68a89 100644 --- a/src/main/java/org/betterx/betterend/blocks/CavePumpkinVineBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/CavePumpkinVineBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -14,10 +18,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; -import org.betterx.betterend.registry.EndBlocks; - public class CavePumpkinVineBlock extends EndPlantWithAgeBlock { public CavePumpkinVineBlock() { super(p -> p.offsetType(BlockBehaviour.OffsetType.NONE)); @@ -44,7 +44,7 @@ public class CavePumpkinVineBlock extends EndPlantWithAgeBlock { world.setBlockAndUpdate( pos.below(), EndBlocks.CAVE_PUMPKIN.defaultBlockState().setValue(BlockProperties.SMALL, true) - ); + ); } else if (age == 3) { world.setBlockAndUpdate(pos.below(), EndBlocks.CAVE_PUMPKIN.defaultBlockState()); } @@ -56,12 +56,14 @@ public class CavePumpkinVineBlock extends EndPlantWithAgeBlock { } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { state = super.updateShape(state, facing, neighborState, world, pos, neighborPos); if (state.is(this) && state.getValue(BlockProperties.AGE) > 1) { BlockState down = world.getBlockState(pos.below()); diff --git a/src/main/java/org/betterx/betterend/blocks/ChandelierBlock.java b/src/main/java/org/betterx/betterend/blocks/ChandelierBlock.java index 525fc04f..1ed3bebd 100644 --- a/src/main/java/org/betterx/betterend/blocks/ChandelierBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/ChandelierBlock.java @@ -1,5 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.BlockModelProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.betterend.client.models.Patterns; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.resources.model.BlockModelRotation; import net.minecraft.client.resources.model.UnbakedModel; @@ -18,12 +25,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Maps; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.BlockModelProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.betterend.client.models.Patterns; import java.util.EnumMap; import java.util.Map; @@ -77,9 +78,11 @@ public class ChandelierBlock extends BaseAttachedBlock implements RenderLayerPro @Override @Environment(EnvType.CLIENT) - public UnbakedModel getModelVariant(ResourceLocation stateId, - BlockState blockState, - Map modelCache) { + public UnbakedModel getModelVariant( + ResourceLocation stateId, + BlockState blockState, + Map modelCache + ) { String state = "_wall"; BlockModelRotation rotation = BlockModelRotation.X0_Y0; switch (blockState.getValue(FACING)) { diff --git a/src/main/java/org/betterx/betterend/blocks/CharcoalBlock.java b/src/main/java/org/betterx/betterend/blocks/CharcoalBlock.java index 4534151f..9db3e022 100644 --- a/src/main/java/org/betterx/betterend/blocks/CharcoalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/CharcoalBlock.java @@ -1,12 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.world.level.block.Blocks; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.fabricmc.fabric.api.registry.FuelRegistry; -import org.betterx.bclib.blocks.BaseBlock; - public class CharcoalBlock extends BaseBlock { public CharcoalBlock() { super(FabricBlockSettings.copyOf(Blocks.COAL_BLOCK)); diff --git a/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java b/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java index 021dff52..86744d20 100644 --- a/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/CharniaBlock.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluids; -import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; - public class CharniaBlock extends EndUnderwaterPlantBlock { @Override diff --git a/src/main/java/org/betterx/betterend/blocks/ChorusGrassBlock.java b/src/main/java/org/betterx/betterend/blocks/ChorusGrassBlock.java index 8bede08e..f4b6feb7 100644 --- a/src/main/java/org/betterx/betterend/blocks/ChorusGrassBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/ChorusGrassBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.betterend.blocks.basis.EndPlantBlock; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.world.level.block.state.BlockState; + public class ChorusGrassBlock extends EndPlantBlock { public ChorusGrassBlock() { super(true); diff --git a/src/main/java/org/betterx/betterend/blocks/DenseEmeraldIceBlock.java b/src/main/java/org/betterx/betterend/blocks/DenseEmeraldIceBlock.java index 97c67ce1..d3a4ce9e 100644 --- a/src/main/java/org/betterx/betterend/blocks/DenseEmeraldIceBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/DenseEmeraldIceBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; + import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; @@ -10,10 +14,6 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; - import java.util.Collections; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/DenseSnowBlock.java b/src/main/java/org/betterx/betterend/blocks/DenseSnowBlock.java index 54f78cc1..87033f69 100644 --- a/src/main/java/org/betterx/betterend/blocks/DenseSnowBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/DenseSnowBlock.java @@ -1,12 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; - public class DenseSnowBlock extends BaseBlock { public DenseSnowBlock() { super(FabricBlockSettings.of(Material.SNOW).strength(0.2F).sound(SoundType.SNOW)); diff --git a/src/main/java/org/betterx/betterend/blocks/DragonTreeSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/DragonTreeSaplingBlock.java index 252d04e2..715e3981 100644 --- a/src/main/java/org/betterx/betterend/blocks/DragonTreeSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/DragonTreeSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class DragonTreeSaplingBlock extends PottableFeatureSapling { public DragonTreeSaplingBlock() { super((state) -> EndFeatures.DRAGON_TREE); diff --git a/src/main/java/org/betterx/betterend/blocks/EmeraldIceBlock.java b/src/main/java/org/betterx/betterend/blocks/EmeraldIceBlock.java index 7b39c9c8..fc3dd81b 100644 --- a/src/main/java/org/betterx/betterend/blocks/EmeraldIceBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EmeraldIceBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.BlockModelProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -23,10 +27,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.BlockModelProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; - import java.util.Collections; import java.util.List; import org.jetbrains.annotations.Nullable; @@ -42,12 +42,14 @@ public class EmeraldIceBlock extends HalfTransparentBlock implements RenderLayer } @Override - public void playerDestroy(Level world, - Player player, - BlockPos pos, - BlockState state, - @Nullable BlockEntity blockEntity, - ItemStack stack) { + public void playerDestroy( + Level world, + Player player, + BlockPos pos, + BlockState state, + @Nullable BlockEntity blockEntity, + ItemStack stack + ) { super.playerDestroy(world, player, pos, state, blockEntity, stack); if (EnchantmentHelper.getItemEnchantmentLevel(Enchantments.SILK_TOUCH, stack) == 0) { if (world.dimensionType().ultraWarm()) { diff --git a/src/main/java/org/betterx/betterend/blocks/EndBlockProperties.java b/src/main/java/org/betterx/betterend/blocks/EndBlockProperties.java index 12e6eeeb..8b8b20e4 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndBlockProperties.java +++ b/src/main/java/org/betterx/betterend/blocks/EndBlockProperties.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.betterend.registry.EndPortals; + import net.minecraft.util.StringRepresentable; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.betterend.registry.EndPortals; - public class EndBlockProperties extends BlockProperties { public static final EnumProperty HYDRALUX_SHAPE = EnumProperty.create("shape", HydraluxShape.class); public static final EnumProperty PEDESTAL_STATE = EnumProperty.create("state", PedestalState.class); diff --git a/src/main/java/org/betterx/betterend/blocks/EndLilyBlock.java b/src/main/java/org/betterx/betterend/blocks/EndLilyBlock.java index 29b89ab2..0288af0d 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndLilyBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndLilyBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -27,13 +35,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; import java.util.Collections; import java.util.List; @@ -51,12 +52,14 @@ public class EndLilyBlock extends EndUnderwaterPlantBlock implements AddMineable } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!canSurvive(state, world, pos)) { return state.getValue(SHAPE) == TripleShape.TOP ? Blocks.AIR.defaultBlockState() @@ -103,7 +106,7 @@ public class EndLilyBlock extends EndUnderwaterPlantBlock implements AddMineable return Lists.newArrayList( new ItemStack(EndItems.END_LILY_LEAF, MHelper.randRange(1, 2, MHelper.RANDOM_SOURCE)), new ItemStack(EndBlocks.END_LILY_SEED, MHelper.randRange(1, 2, MHelper.RANDOM_SOURCE)) - ); + ); } return Collections.emptyList(); } diff --git a/src/main/java/org/betterx/betterend/blocks/EndLilySeedBlock.java b/src/main/java/org/betterx/betterend/blocks/EndLilySeedBlock.java index 16773c5a..2e0ad880 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndLilySeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndLilySeedBlock.java @@ -1,17 +1,17 @@ package org.betterx.betterend.blocks; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Fluids; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BlockProperties.TripleShape; import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock; import org.betterx.bclib.util.BlocksHelper; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.Fluids; + public class EndLilySeedBlock extends UnderwaterPlantWithAgeBlock { @Override public void grow(WorldGenLevel world, RandomSource random, BlockPos pos) { @@ -20,21 +20,21 @@ public class EndLilySeedBlock extends UnderwaterPlantWithAgeBlock { world, pos, EndBlocks.END_LILY.defaultBlockState().setValue(EndLilyBlock.SHAPE, TripleShape.BOTTOM) - ); + ); BlockPos up = pos.above(); while (world.getFluidState(up).isSource()) { BlocksHelper.setWithoutUpdate( world, up, EndBlocks.END_LILY.defaultBlockState().setValue(EndLilyBlock.SHAPE, TripleShape.MIDDLE) - ); + ); up = up.above(); } BlocksHelper.setWithoutUpdate( world, up, EndBlocks.END_LILY.defaultBlockState().setValue(EndLilyBlock.SHAPE, TripleShape.TOP) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/blocks/EndLotusFlowerBlock.java b/src/main/java/org/betterx/betterend/blocks/EndLotusFlowerBlock.java index 1d7ce39f..5fe49697 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndLotusFlowerBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndLotusFlowerBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -16,9 +20,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/EndLotusLeafBlock.java b/src/main/java/org/betterx/betterend/blocks/EndLotusLeafBlock.java index f47269d9..b4ac8b39 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndLotusLeafBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndLotusLeafBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; @@ -22,14 +30,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - public class EndLotusLeafBlock extends BaseBlockNotFull implements RenderLayerProvider { public static final EnumProperty HORIZONTAL_FACING = BlockStateProperties.HORIZONTAL_FACING; public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; diff --git a/src/main/java/org/betterx/betterend/blocks/EndLotusSeedBlock.java b/src/main/java/org/betterx/betterend/blocks/EndLotusSeedBlock.java index 721fb713..31bc4ed2 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndLotusSeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndLotusSeedBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -8,12 +14,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluids; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - public class EndLotusSeedBlock extends UnderwaterPlantWithAgeBlock { @Override public void grow(WorldGenLevel world, RandomSource random, BlockPos pos) { @@ -43,7 +43,7 @@ public class EndLotusSeedBlock extends UnderwaterPlantWithAgeBlock { world, bpos, startLeaf.setValue(EndLotusStemBlock.SHAPE, shape).setValue(EndLotusStemBlock.FACING, dir) - ); + ); } else { BlocksHelper.setWithoutUpdate(world, bpos, stem.setValue(EndLotusStemBlock.SHAPE, shape)); } @@ -103,7 +103,7 @@ public class EndLotusSeedBlock extends UnderwaterPlantWithAgeBlock { p.set(pos).move(move), leaf.setValue(EndLotusLeafBlock.HORIZONTAL_FACING, move) .setValue(EndLotusLeafBlock.SHAPE, TripleShape.MIDDLE) - ); + ); } for (int i = 0; i < 4; i++) { Direction d1 = BlocksHelper.HORIZONTAL[i]; @@ -113,7 +113,7 @@ public class EndLotusSeedBlock extends UnderwaterPlantWithAgeBlock { p.set(pos).move(d1).move(d2), leaf.setValue(EndLotusLeafBlock.HORIZONTAL_FACING, d1) .setValue(EndLotusLeafBlock.SHAPE, TripleShape.TOP) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/blocks/EndLotusStemBlock.java b/src/main/java/org/betterx/betterend/blocks/EndLotusStemBlock.java index c33c4bae..32dfebd8 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndLotusStemBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndLotusStemBlock.java @@ -1,5 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; @@ -20,12 +27,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Maps; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.BlocksHelper; import java.util.Map; @@ -84,12 +85,14 @@ public class EndLotusStemBlock extends BaseBlock implements SimpleWaterloggedBlo @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + public BlockState updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { if (state.getValue(WATERLOGGED)) { world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world)); } diff --git a/src/main/java/org/betterx/betterend/blocks/EndPedestal.java b/src/main/java/org/betterx/betterend/blocks/EndPedestal.java index cfe90af4..58af77bb 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndPedestal.java +++ b/src/main/java/org/betterx/betterend/blocks/EndPedestal.java @@ -1,12 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.basis.PedestalBlock; + import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; import com.google.common.collect.Maps; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.basis.PedestalBlock; import java.util.Map; diff --git a/src/main/java/org/betterx/betterend/blocks/EndPortalBlock.java b/src/main/java/org/betterx/betterend/blocks/EndPortalBlock.java index 42414fdd..0d722232 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndPortalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndPortalBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.betterend.interfaces.TeleportingEntity; +import org.betterx.betterend.registry.EndParticles; +import org.betterx.betterend.registry.EndPortals; +import org.betterx.betterend.rituals.EternalRitual; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.core.BlockPos; @@ -31,14 +39,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.betterend.interfaces.TeleportingEntity; -import org.betterx.betterend.registry.EndParticles; -import org.betterx.betterend.registry.EndPortals; -import org.betterx.betterend.rituals.EternalRitual; - import java.util.Objects; import java.util.Optional; @@ -70,7 +70,7 @@ public class EndPortalBlock extends NetherPortalBlock implements RenderLayerProv 0.5F, random.nextFloat() * 0.4F + 0.8F, false - ); + ); } double x = pos.getX() + random.nextDouble(); @@ -91,12 +91,14 @@ public class EndPortalBlock extends NetherPortalBlock implements RenderLayerProv } @Override - public BlockState updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + public BlockState updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { return state; } @@ -119,7 +121,7 @@ public class EndPortalBlock extends NetherPortalBlock implements RenderLayerProv exitPos.getZ() + 0.5, entity.getYRot(), entity.getXRot() - ); + ); } else { ((TeleportingEntity) entity).be_setExitPos(exitPos); Optional teleported = Optional.ofNullable(entity.changeDimension(destination)); @@ -136,10 +138,12 @@ public class EndPortalBlock extends NetherPortalBlock implements RenderLayerProv return BCLRenderLayer.TRANSLUCENT; } - private BlockPos findExitPos(ServerLevel currentWorld, - ServerLevel targetWorld, - BlockPos currentPos, - Entity entity) { + private BlockPos findExitPos( + ServerLevel currentWorld, + ServerLevel targetWorld, + BlockPos currentPos, + Entity entity + ) { if (targetWorld == null) return null; Registry registry = targetWorld.registryAccess() .registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY); @@ -149,10 +153,11 @@ public class EndPortalBlock extends NetherPortalBlock implements RenderLayerProv double currentMultiplier = Objects.requireNonNull(registry.get(currentWorldId)).coordinateScale(); double multiplier = targetMultiplier > currentMultiplier ? 1.0 / targetMultiplier : currentMultiplier; MutableBlockPos basePos = currentPos.mutable() - .set(currentPos.getX() * multiplier, - currentPos.getY(), - currentPos.getZ() * multiplier - ); + .set( + currentPos.getX() * multiplier, + currentPos.getY(), + currentPos.getZ() * multiplier + ); MutableBlockPos checkPos = basePos.mutable(); BlockState currentState = currentWorld.getBlockState(currentPos); int radius = (EternalRitual.SEARCH_RADIUS >> 4) + 1; @@ -162,7 +167,7 @@ public class EndPortalBlock extends NetherPortalBlock implements RenderLayerProv radius, this, state -> state.is(this) && state.getValue(PORTAL).equals(currentState.getValue(PORTAL)) - ); + ); if (checkPos != null) { BlockState checkState = targetWorld.getBlockState(checkPos); Axis axis = checkState.getValue(AXIS); diff --git a/src/main/java/org/betterx/betterend/blocks/EndStoneSmelter.java b/src/main/java/org/betterx/betterend/blocks/EndStoneSmelter.java index 9f16fb20..e92ecd56 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndStoneSmelter.java +++ b/src/main/java/org/betterx/betterend/blocks/EndStoneSmelter.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockWithEntity; +import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; +import org.betterx.betterend.registry.EndBlockEntities; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -33,9 +37,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.blocks.BaseBlockWithEntity; -import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; -import org.betterx.betterend.registry.EndBlockEntities; import java.util.List; import org.jetbrains.annotations.Nullable; @@ -56,12 +57,14 @@ public class EndStoneSmelter extends BaseBlockWithEntity { } @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level world, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level world, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { if (world.isClientSide) { return InteractionResult.SUCCESS; } else { @@ -154,7 +157,7 @@ public class EndStoneSmelter extends BaseBlockWithEntity { 1.0F, 1.0F, false - ); + ); } Direction direction = state.getValue(FACING); @@ -170,13 +173,15 @@ public class EndStoneSmelter extends BaseBlockWithEntity { @Override @Nullable - public BlockEntityTicker getTicker(Level level, - BlockState blockState, - BlockEntityType blockEntityType) { + public BlockEntityTicker getTicker( + Level level, + BlockState blockState, + BlockEntityType blockEntityType + ) { return level.isClientSide() ? null : createTickerHelper( blockEntityType, EndBlockEntities.END_STONE_SMELTER, EndStoneSmelterBlockEntity::tick - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/blocks/EnderBlock.java b/src/main/java/org/betterx/betterend/blocks/EnderBlock.java index 7424e18d..e7223968 100644 --- a/src/main/java/org/betterx/betterend/blocks/EnderBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EnderBlock.java @@ -1,5 +1,7 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.SoundType; @@ -11,8 +13,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; - public class EnderBlock extends BaseBlock { public EnderBlock() { diff --git a/src/main/java/org/betterx/betterend/blocks/EndstoneDustBlock.java b/src/main/java/org/betterx/betterend/blocks/EndstoneDustBlock.java index ee9b42b3..04fdc8c5 100644 --- a/src/main/java/org/betterx/betterend/blocks/EndstoneDustBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/EndstoneDustBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.interfaces.TagProvider; +import org.betterx.bclib.interfaces.tools.AddMineableShovel; +import org.betterx.bclib.util.ColorUtil; + import net.minecraft.core.BlockPos; import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; @@ -15,11 +20,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.interfaces.TagProvider; -import org.betterx.bclib.interfaces.tools.AddMineableShovel; -import org.betterx.bclib.util.ColorUtil; - import java.util.Collections; import java.util.List; @@ -29,9 +29,9 @@ public class EndstoneDustBlock extends FallingBlock implements TagProvider, AddM public EndstoneDustBlock() { super(FabricBlockSettings - .copyOf(Blocks.SAND) - .mapColor(Blocks.END_STONE.defaultMaterialColor()) - ); + .copyOf(Blocks.SAND) + .mapColor(Blocks.END_STONE.defaultMaterialColor()) + ); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/EternalPedestal.java b/src/main/java/org/betterx/betterend/blocks/EternalPedestal.java index e0c1dbcc..285fbbd1 100644 --- a/src/main/java/org/betterx/betterend/blocks/EternalPedestal.java +++ b/src/main/java/org/betterx/betterend/blocks/EternalPedestal.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PedestalBlock; +import org.betterx.betterend.blocks.entities.EternalPedestalEntity; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndPortals; +import org.betterx.betterend.rituals.EternalRitual; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Registry; @@ -20,11 +26,6 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import com.google.common.collect.Lists; -import org.betterx.betterend.blocks.basis.PedestalBlock; -import org.betterx.betterend.blocks.entities.EternalPedestalEntity; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndPortals; -import org.betterx.betterend.rituals.EternalRitual; import java.util.List; @@ -75,12 +76,14 @@ public class EternalPedestal extends PedestalBlock { @Override @Deprecated - public BlockState updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + public BlockState updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { BlockState updated = super.updateShape(state, direction, newState, world, pos, posFrom); if (!updated.is(this)) return updated; if (!this.isPlaceable(updated)) { diff --git a/src/main/java/org/betterx/betterend/blocks/FilaluxBlock.java b/src/main/java/org/betterx/betterend/blocks/FilaluxBlock.java index b69ff330..84b95a01 100644 --- a/src/main/java/org/betterx/betterend/blocks/FilaluxBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FilaluxBlock.java @@ -1,9 +1,9 @@ package org.betterx.betterend.blocks; -import net.minecraft.world.level.block.state.BlockBehaviour; - import org.betterx.bclib.blocks.BaseVineBlock; +import net.minecraft.world.level.block.state.BlockBehaviour; + public class FilaluxBlock extends BaseVineBlock { public FilaluxBlock() { super(15, true, p -> p.offsetType(BlockBehaviour.OffsetType.NONE)); diff --git a/src/main/java/org/betterx/betterend/blocks/FilaluxLanternBlock.java b/src/main/java/org/betterx/betterend/blocks/FilaluxLanternBlock.java index ff329381..438aac7a 100644 --- a/src/main/java/org/betterx/betterend/blocks/FilaluxLanternBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FilaluxLanternBlock.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.tools.AddMineableAxe; + import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.tools.AddMineableAxe; - public class FilaluxLanternBlock extends BaseBlock implements AddMineableAxe { public FilaluxLanternBlock() { super(FabricBlockSettings.of(Material.WOOD) diff --git a/src/main/java/org/betterx/betterend/blocks/FilaluxWingsBlock.java b/src/main/java/org/betterx/betterend/blocks/FilaluxWingsBlock.java index fdf715f1..317ecfda 100644 --- a/src/main/java/org/betterx/betterend/blocks/FilaluxWingsBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FilaluxWingsBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineableShears; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.BlockGetter; @@ -13,10 +18,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Maps; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineableShears; import java.util.EnumMap; diff --git a/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java b/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java index ab1064e7..49b50b36 100644 --- a/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FlamaeaBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.interfaces.CustomItemProvider; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.betterend.blocks.basis.EndPlantBlock; + import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.BlockItem; @@ -20,9 +24,6 @@ import net.fabricmc.fabric.api.item.v1.FabricItemSettings; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.interfaces.CustomItemProvider; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.betterend.blocks.basis.EndPlantBlock; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/FlammalixBlock.java b/src/main/java/org/betterx/betterend/blocks/FlammalixBlock.java index 016930c5..7fb24a41 100644 --- a/src/main/java/org/betterx/betterend/blocks/FlammalixBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FlammalixBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -12,10 +16,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class FlammalixBlock extends EndPlantBlock { private static final VoxelShape SHAPE = Block.box(2, 0, 2, 14, 14, 14); diff --git a/src/main/java/org/betterx/betterend/blocks/FlowerPotBlock.java b/src/main/java/org/betterx/betterend/blocks/FlowerPotBlock.java index 33b64933..3580fbca 100644 --- a/src/main/java/org/betterx/betterend/blocks/FlowerPotBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/FlowerPotBlock.java @@ -1,5 +1,25 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.client.models.BasePatterns; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.client.models.ModelsHelper.MultiPartBuilder; +import org.betterx.bclib.client.models.PatternsHelper; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.PostInitable; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.JsonFactory; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.basis.PottableLeavesBlock; +import org.betterx.betterend.client.models.Patterns; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.interfaces.PottablePlant; +import org.betterx.betterend.interfaces.PottableTerrain; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Transformation; +import com.mojang.math.Vector3f; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.resources.model.ModelResourceLocation; @@ -38,25 +58,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.mojang.math.Transformation; -import com.mojang.math.Vector3f; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.client.models.BasePatterns; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.client.models.ModelsHelper.MultiPartBuilder; -import org.betterx.bclib.client.models.PatternsHelper; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.PostInitable; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.JsonFactory; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.basis.PottableLeavesBlock; -import org.betterx.betterend.client.models.Patterns; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.interfaces.PottablePlant; -import org.betterx.betterend.interfaces.PottableTerrain; -import org.betterx.betterend.registry.EndBlocks; import java.io.File; import java.util.List; @@ -79,7 +80,7 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi .setValue(PLANT_ID, 0) .setValue(SOIL_ID, 0) .setValue(POT_LIGHT, 0) - ); + ); } @Override @@ -104,12 +105,14 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { int plantID = state.getValue(PLANT_ID); if (plantID < 1 || plantID > plants.length || plants[plantID - 1] == null) { return state.getValue(POT_LIGHT) > 0 ? state.setValue(POT_LIGHT, 0) : state; @@ -205,12 +208,14 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi @Override @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level level, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level level, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { if (level.isClientSide) { return InteractionResult.CONSUME; } @@ -236,7 +241,7 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi SoundSource.BLOCKS, 1, 1 - ); + ); return InteractionResult.SUCCESS; } } @@ -276,7 +281,7 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi SoundSource.BLOCKS, 1, 1 - ); + ); if (!player.isCreative()) { itemStack.shrink(1); } @@ -295,9 +300,11 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi @Override @Environment(EnvType.CLIENT) - public UnbakedModel getModelVariant(ResourceLocation stateId, - BlockState blockState, - Map modelCache) { + public UnbakedModel getModelVariant( + ResourceLocation stateId, + BlockState blockState, + Map modelCache + ) { MultiPartBuilder model = MultiPartBuilder.create(stateDefinition); model.part(new ModelResourceLocation(stateId.getNamespace(), stateId.getPath(), "inventory")).add(); Transformation offset = new Transformation(new Vector3f(0, 7.5F / 16F, 0), null, null, null); diff --git a/src/main/java/org/betterx/betterend/blocks/GlowingHymenophoreBlock.java b/src/main/java/org/betterx/betterend/blocks/GlowingHymenophoreBlock.java index 2b672e22..eeaafd33 100644 --- a/src/main/java/org/betterx/betterend/blocks/GlowingHymenophoreBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/GlowingHymenophoreBlock.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.tools.AddMineableAxe; + import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.tools.AddMineableAxe; - public class GlowingHymenophoreBlock extends BaseBlock implements AddMineableAxe { public GlowingHymenophoreBlock() { super(FabricBlockSettings.of(Material.WOOD) diff --git a/src/main/java/org/betterx/betterend/blocks/GlowingMossBlock.java b/src/main/java/org/betterx/betterend/blocks/GlowingMossBlock.java index 6f09ae66..9c7c33dd 100644 --- a/src/main/java/org/betterx/betterend/blocks/GlowingMossBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/GlowingMossBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.state.BlockState; @@ -7,9 +10,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class GlowingMossBlock extends EndPlantBlock { public GlowingMossBlock(int light) { super(light); diff --git a/src/main/java/org/betterx/betterend/blocks/GlowingPillarLuminophorBlock.java b/src/main/java/org/betterx/betterend/blocks/GlowingPillarLuminophorBlock.java index 705af9ed..b2c44702 100644 --- a/src/main/java/org/betterx/betterend/blocks/GlowingPillarLuminophorBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/GlowingPillarLuminophorBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.LevelAccessor; @@ -15,10 +19,6 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.betterend.registry.EndBlocks; - public class GlowingPillarLuminophorBlock extends BaseBlock implements AddMineableShears { public static final BooleanProperty NATURAL = EndBlockProperties.NATURAL; @@ -39,12 +39,14 @@ public class GlowingPillarLuminophorBlock extends BaseBlock implements AddMineab @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!canSurvive(state, world, pos)) { return Blocks.AIR.defaultBlockState(); } else { diff --git a/src/main/java/org/betterx/betterend/blocks/GlowingPillarRootsBlock.java b/src/main/java/org/betterx/betterend/blocks/GlowingPillarRootsBlock.java index 2ae1f2b8..daacc8af 100644 --- a/src/main/java/org/betterx/betterend/blocks/GlowingPillarRootsBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/GlowingPillarRootsBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.blocks.UpDownPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; @@ -11,11 +16,6 @@ import net.minecraft.world.level.block.state.properties.EnumProperty; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.blocks.UpDownPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class GlowingPillarRootsBlock extends UpDownPlantBlock { public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; diff --git a/src/main/java/org/betterx/betterend/blocks/GlowingPillarSeedBlock.java b/src/main/java/org/betterx/betterend/blocks/GlowingPillarSeedBlock.java index f88f51f7..730e91a0 100644 --- a/src/main/java/org/betterx/betterend/blocks/GlowingPillarSeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/GlowingPillarSeedBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -12,14 +20,6 @@ import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; -import org.betterx.betterend.registry.EndBlocks; - public class GlowingPillarSeedBlock extends EndPlantWithAgeBlock implements AddMineableShears { public GlowingPillarSeedBlock() { @@ -53,7 +53,7 @@ public class GlowingPillarSeedBlock extends EndPlantWithAgeBlock implements AddM world, mut, EndBlocks.GLOWING_PILLAR_LUMINOPHOR.defaultBlockState().setValue(BlueVineLanternBlock.NATURAL, true) - ); + ); for (Direction dir : BlocksHelper.DIRECTIONS) { pos = mut.relative(dir); if (world.isEmptyBlock(pos)) { @@ -61,7 +61,7 @@ public class GlowingPillarSeedBlock extends EndPlantWithAgeBlock implements AddM world, pos, EndBlocks.GLOWING_PILLAR_LEAVES.defaultBlockState().setValue(BlockStateProperties.FACING, dir) - ); + ); } } mut.move(Direction.UP); @@ -71,7 +71,7 @@ public class GlowingPillarSeedBlock extends EndPlantWithAgeBlock implements AddM mut, EndBlocks.GLOWING_PILLAR_LEAVES.defaultBlockState() .setValue(BlockStateProperties.FACING, Direction.UP) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/blocks/HelixTreeLeavesBlock.java b/src/main/java/org/betterx/betterend/blocks/HelixTreeLeavesBlock.java index 382064b6..6cd89394 100644 --- a/src/main/java/org/betterx/betterend/blocks/HelixTreeLeavesBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HelixTreeLeavesBlock.java @@ -1,5 +1,16 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.NamedBlockTags; +import org.betterx.bclib.api.v2.tag.TagAPI; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BaseLeavesBlock; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.util.Mth; @@ -16,17 +27,6 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.api.v2.tag.NamedBlockTags; -import org.betterx.bclib.api.v2.tag.TagAPI; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BaseLeavesBlock; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; - import java.util.List; public class HelixTreeLeavesBlock extends BaseBlock implements CustomColorProvider, AddMineableShears { @@ -35,12 +35,12 @@ public class HelixTreeLeavesBlock extends BaseBlock implements CustomColorProvid public HelixTreeLeavesBlock() { super(FabricBlockSettings - .of(Material.LEAVES) - .mapColor(MaterialColor.COLOR_ORANGE) - .sound(SoundType.WART_BLOCK) - .sound(SoundType.GRASS) - .strength(0.2F) - ); + .of(Material.LEAVES) + .mapColor(MaterialColor.COLOR_ORANGE) + .sound(SoundType.WART_BLOCK) + .sound(SoundType.GRASS) + .strength(0.2F) + ); TagAPI.addBlockTag(NamedBlockTags.LEAVES, this); } diff --git a/src/main/java/org/betterx/betterend/blocks/HelixTreeSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/HelixTreeSaplingBlock.java index c38b85e8..a1a321e7 100644 --- a/src/main/java/org/betterx/betterend/blocks/HelixTreeSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HelixTreeSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class HelixTreeSaplingBlock extends PottableFeatureSapling { public HelixTreeSaplingBlock() { super((state) -> EndFeatures.HELIX_TREE); diff --git a/src/main/java/org/betterx/betterend/blocks/HydraluxBlock.java b/src/main/java/org/betterx/betterend/blocks/HydraluxBlock.java index 2ae88f8d..f8373437 100644 --- a/src/main/java/org/betterx/betterend/blocks/HydraluxBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HydraluxBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.UnderwaterPlantBlock; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.EndBlockProperties.HydraluxShape; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.item.ItemStack; @@ -19,13 +27,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.UnderwaterPlantBlock; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.EndBlockProperties.HydraluxShape; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; import java.util.Collections; import java.util.List; @@ -84,8 +85,10 @@ public class HydraluxBlock extends UnderwaterPlantBlock implements AddMineableSh public List getDrops(BlockState state, LootContext.Builder builder) { HydraluxShape shape = state.getValue(SHAPE); if (shape == HydraluxShape.FLOWER_BIG_BOTTOM || shape == HydraluxShape.FLOWER_SMALL_BOTTOM) { - return Lists.newArrayList(new ItemStack(EndItems.HYDRALUX_PETAL, - MHelper.randRange(1, 4, MHelper.RANDOM_SOURCE))); + return Lists.newArrayList(new ItemStack( + EndItems.HYDRALUX_PETAL, + MHelper.randRange(1, 4, MHelper.RANDOM_SOURCE) + )); } else if (shape == HydraluxShape.ROOTS) { return Lists.newArrayList(new ItemStack( EndBlocks.HYDRALUX_SAPLING, diff --git a/src/main/java/org/betterx/betterend/blocks/HydraluxPetalBlock.java b/src/main/java/org/betterx/betterend/blocks/HydraluxPetalBlock.java index fbf90ef2..7ab668d4 100644 --- a/src/main/java/org/betterx/betterend/blocks/HydraluxPetalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HydraluxPetalBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.tools.AddMineableAxe; + import net.minecraft.core.BlockPos; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Level; @@ -10,9 +13,6 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.tools.AddMineableAxe; - public class HydraluxPetalBlock extends BaseBlock implements AddMineableAxe { public HydraluxPetalBlock() { this( @@ -22,7 +22,7 @@ public class HydraluxPetalBlock extends BaseBlock implements AddMineableAxe { .resistance(1) .mapColor(MaterialColor.PODZOL) .sound(SoundType.WART_BLOCK) - ); + ); } public HydraluxPetalBlock(Properties settings) { diff --git a/src/main/java/org/betterx/betterend/blocks/HydraluxPetalColoredBlock.java b/src/main/java/org/betterx/betterend/blocks/HydraluxPetalColoredBlock.java index fb278391..8e2b8e80 100644 --- a/src/main/java/org/betterx/betterend/blocks/HydraluxPetalColoredBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HydraluxPetalColoredBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.client.models.Patterns; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.client.renderer.block.model.BlockModel; @@ -10,11 +15,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.client.models.Patterns; - import java.util.Optional; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java index 0e082ab0..c06202cd 100644 --- a/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HydraluxSaplingBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -7,11 +12,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.UnderwaterPlantWithAgeBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; - public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock { @Override @@ -32,14 +32,14 @@ public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock { world, pos, state.setValue(EndBlockProperties.HYDRALUX_SHAPE, EndBlockProperties.HydraluxShape.ROOTS) - ); + ); for (int i = 1; i < h - 2; i++) { mut.setY(pos.getY() + i); BlocksHelper.setWithoutUpdate( world, mut, state.setValue(EndBlockProperties.HYDRALUX_SHAPE, EndBlockProperties.HydraluxShape.VINE) - ); + ); } mut.setY(mut.getY() + 1); @@ -52,8 +52,8 @@ public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock { big ? EndBlockProperties.HydraluxShape.FLOWER_BIG_BOTTOM : EndBlockProperties.HydraluxShape.FLOWER_SMALL_BOTTOM - ) - ); + ) + ); mut.setY(mut.getY() + 1); BlocksHelper.setWithoutUpdate( @@ -64,8 +64,8 @@ public class HydraluxSaplingBlock extends UnderwaterPlantWithAgeBlock { big ? EndBlockProperties.HydraluxShape.FLOWER_BIG_TOP : EndBlockProperties.HydraluxShape.FLOWER_SMALL_TOP - ) - ); + ) + ); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/HydrothermalVentBlock.java b/src/main/java/org/betterx/betterend/blocks/HydrothermalVentBlock.java index 39ba6857..56e32f04 100644 --- a/src/main/java/org/betterx/betterend/blocks/HydrothermalVentBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/HydrothermalVentBlock.java @@ -1,5 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.entities.BlockEntityHydrothermalVent; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -31,13 +38,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.entities.BlockEntityHydrothermalVent; -import org.betterx.betterend.registry.EndBlocks; - import org.jetbrains.annotations.Nullable; @SuppressWarnings("deprecation") @@ -81,12 +81,14 @@ public class HydrothermalVentBlock extends BaseBlockNotFull implements EntityBlo } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!canSurvive(state, world, pos)) { return Blocks.WATER.defaultBlockState(); } else if (state.getValue(WATERLOGGED) && facing == Direction.UP && neighborState.is(Blocks.WATER)) { @@ -123,11 +125,13 @@ public class HydrothermalVentBlock extends BaseBlockNotFull implements EntityBlo } @Override - public void setPlacedBy(Level world, - BlockPos pos, - BlockState state, - @Nullable LivingEntity placer, - ItemStack itemStack) { + public void setPlacedBy( + Level world, + BlockPos pos, + BlockState state, + @Nullable LivingEntity placer, + ItemStack itemStack + ) { if (world instanceof ServerLevel && state.getValue(WATERLOGGED) && world.getBlockState(pos.above()) .is(Blocks.WATER)) { tick(state, (ServerLevel) world, pos, world.random); @@ -147,9 +151,11 @@ public class HydrothermalVentBlock extends BaseBlockNotFull implements EntityBlo @Nullable @Override - public BlockEntityTicker getTicker(Level level, - BlockState blockState, - BlockEntityType blockEntityType) { + public BlockEntityTicker getTicker( + Level level, + BlockState blockState, + BlockEntityType blockEntityType + ) { return BlockEntityHydrothermalVent::tick; } } diff --git a/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java b/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java index 9f3e90b0..0d565095 100644 --- a/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java +++ b/src/main/java/org/betterx/betterend/blocks/InfusionPedestal.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PedestalBlock; +import org.betterx.betterend.blocks.entities.InfusionPedestalEntity; +import org.betterx.betterend.rituals.InfusionRitual; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; @@ -13,10 +17,6 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import org.betterx.betterend.blocks.basis.PedestalBlock; -import org.betterx.betterend.blocks.entities.InfusionPedestalEntity; -import org.betterx.betterend.rituals.InfusionRitual; - import org.jetbrains.annotations.Nullable; @SuppressWarnings("deprecation") @@ -79,9 +79,11 @@ public class InfusionPedestal extends PedestalBlock { @Override @Nullable - public BlockEntityTicker getTicker(Level level, - BlockState blockState, - BlockEntityType blockEntityType) { + public BlockEntityTicker getTicker( + Level level, + BlockState blockState, + BlockEntityType blockEntityType + ) { return InfusionPedestalEntity::tickEnity; } diff --git a/src/main/java/org/betterx/betterend/blocks/JellyshroomCapBlock.java b/src/main/java/org/betterx/betterend/blocks/JellyshroomCapBlock.java index 2270e83c..bc16e8ed 100644 --- a/src/main/java/org/betterx/betterend/blocks/JellyshroomCapBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/JellyshroomCapBlock.java @@ -1,5 +1,15 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.BlockModelProvider; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.client.models.Patterns; +import org.betterx.betterend.noise.OpenSimplexNoise; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.client.renderer.block.model.BlockModel; @@ -21,15 +31,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.BlockModelProvider; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.client.models.Patterns; -import org.betterx.betterend.noise.OpenSimplexNoise; import java.util.List; import java.util.Optional; diff --git a/src/main/java/org/betterx/betterend/blocks/LacugroveSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/LacugroveSaplingBlock.java index 7750cd30..698d090a 100644 --- a/src/main/java/org/betterx/betterend/blocks/LacugroveSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LacugroveSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class LacugroveSaplingBlock extends PottableFeatureSapling { public LacugroveSaplingBlock() { super((state) -> EndFeatures.LACUGROVE); diff --git a/src/main/java/org/betterx/betterend/blocks/LanceleafBlock.java b/src/main/java/org/betterx/betterend/blocks/LanceleafBlock.java index ad67168a..f74bd49f 100644 --- a/src/main/java/org/betterx/betterend/blocks/LanceleafBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LanceleafBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.PentaShape; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; @@ -13,12 +19,6 @@ import net.minecraft.world.level.block.state.properties.EnumProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty; import net.minecraft.world.level.storage.loot.LootContext; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.PentaShape; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - import java.util.Collections; import java.util.List; @@ -50,12 +50,14 @@ public class LanceleafBlock extends EndPlantBlock { } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!canSurvive(state, world, pos)) { return Blocks.AIR.defaultBlockState(); } else { diff --git a/src/main/java/org/betterx/betterend/blocks/LanceleafSeedBlock.java b/src/main/java/org/betterx/betterend/blocks/LanceleafSeedBlock.java index 11ed64af..cd9ba1ff 100644 --- a/src/main/java/org/betterx/betterend/blocks/LanceleafSeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LanceleafSeedBlock.java @@ -1,12 +1,5 @@ package org.betterx.betterend.blocks; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.blocks.BlockProperties; import org.betterx.bclib.blocks.BlockProperties.PentaShape; import org.betterx.bclib.util.BlocksHelper; @@ -14,6 +7,13 @@ import org.betterx.bclib.util.MHelper; import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.state.BlockState; + public class LanceleafSeedBlock extends EndPlantWithAgeBlock { public LanceleafSeedBlock() { super(p -> p.offsetType(OffsetType.NONE)); @@ -34,24 +34,24 @@ public class LanceleafSeedBlock extends EndPlantWithAgeBlock { world, mut.move(Direction.UP), plant.setValue(BlockProperties.PENTA_SHAPE, PentaShape.PRE_BOTTOM) - ); + ); for (int i = 2; i < height - 2; i++) { BlocksHelper.setWithoutUpdate( world, mut.move(Direction.UP), plant.setValue(BlockProperties.PENTA_SHAPE, PentaShape.MIDDLE) - ); + ); } BlocksHelper.setWithoutUpdate( world, mut.move(Direction.UP), plant.setValue(BlockProperties.PENTA_SHAPE, PentaShape.PRE_TOP) - ); + ); BlocksHelper.setWithoutUpdate( world, mut.move(Direction.UP), plant.setValue(BlockProperties.PENTA_SHAPE, PentaShape.TOP) - ); + ); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/LargeAmaranitaBlock.java b/src/main/java/org/betterx/betterend/blocks/LargeAmaranitaBlock.java index a1313bdc..62b8d54c 100644 --- a/src/main/java/org/betterx/betterend/blocks/LargeAmaranitaBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LargeAmaranitaBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockGetter; @@ -17,12 +23,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class LargeAmaranitaBlock extends EndPlantBlock implements AddMineableShears { public static final EnumProperty SHAPE = BlockProperties.TRIPLE_SHAPE; private static final VoxelShape SHAPE_BOTTOM = Block.box(4, 0, 4, 12, 14, 12); diff --git a/src/main/java/org/betterx/betterend/blocks/LucerniaSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/LucerniaSaplingBlock.java index daa0825a..cb858350 100644 --- a/src/main/java/org/betterx/betterend/blocks/LucerniaSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LucerniaSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class LucerniaSaplingBlock extends PottableFeatureSapling { public LucerniaSaplingBlock() { super((state) -> EndFeatures.LUCERNIA); diff --git a/src/main/java/org/betterx/betterend/blocks/LumecornBlock.java b/src/main/java/org/betterx/betterend/blocks/LumecornBlock.java index 393bf9cd..77b363bb 100644 --- a/src/main/java/org/betterx/betterend/blocks/LumecornBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LumecornBlock.java @@ -1,5 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineableAxe; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; @@ -20,22 +29,15 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineableAxe; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - import java.util.Collections; import java.util.List; @SuppressWarnings("deprecation") public class LumecornBlock extends BaseBlockNotFull implements RenderLayerProvider, AddMineableAxe { - public static final EnumProperty SHAPE = EnumProperty.create("shape", - EndBlockProperties.LumecornShape.class); + public static final EnumProperty SHAPE = EnumProperty.create( + "shape", + EndBlockProperties.LumecornShape.class + ); private static final VoxelShape SHAPE_BOTTOM = Block.box(6, 0, 6, 10, 16, 10); private static final VoxelShape SHAPE_TOP = Block.box(6, 0, 6, 10, 8, 10); @@ -73,12 +75,14 @@ public class LumecornBlock extends BaseBlockNotFull implements RenderLayerProvid } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!canSurvive(state, world, pos)) { return Blocks.AIR.defaultBlockState(); } else { diff --git a/src/main/java/org/betterx/betterend/blocks/LumecornSeedBlock.java b/src/main/java/org/betterx/betterend/blocks/LumecornSeedBlock.java index 1e6d00bc..ace68a2d 100644 --- a/src/main/java/org/betterx/betterend/blocks/LumecornSeedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/LumecornSeedBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -8,10 +12,6 @@ import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - import java.util.Optional; public class LumecornSeedBlock extends EndPlantWithAgeBlock { @@ -28,7 +28,8 @@ public class LumecornSeedBlock extends EndPlantWithAgeBlock { null, random, pos, - null)); + null + )); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/MengerSpongeBlock.java b/src/main/java/org/betterx/betterend/blocks/MengerSpongeBlock.java index cfc29cbe..89cff017 100644 --- a/src/main/java/org/betterx/betterend/blocks/MengerSpongeBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MengerSpongeBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.tags.FluidTags; @@ -21,10 +26,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.betterend.registry.EndBlocks; import java.util.Queue; @@ -44,12 +45,14 @@ public class MengerSpongeBlock extends BaseBlockNotFull implements RenderLayerPr } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (absorbWater(world, pos)) { return EndBlocks.MENGER_SPONGE_WET.defaultBlockState(); } @@ -76,7 +79,7 @@ public class MengerSpongeBlock extends BaseBlockNotFull implements RenderLayerPr world, blockPos2, blockState - ) + ) .isEmpty()) { ++i; if (j < 6) { @@ -114,23 +117,25 @@ public class MengerSpongeBlock extends BaseBlockNotFull implements RenderLayerPr } @Override - public VoxelShape getShape(BlockState blockState, - BlockGetter blockGetter, - BlockPos blockPos, - CollisionContext collisionContext) { + public VoxelShape getShape( + BlockState blockState, + BlockGetter blockGetter, + BlockPos blockPos, + CollisionContext collisionContext + ) { return SHAPE; } static { SHAPE = Shapes.or( Shapes.or(box(0, 0, 0, 16, 6, 6), box(0, 0, 10, 16, 6, 16), - Shapes.or(box(0, 10, 0, 16, 16, 6), box(0, 10, 10, 16, 16, 16)), + Shapes.or(box(0, 10, 0, 16, 16, 6), box(0, 10, 10, 16, 16, 16)), - Shapes.or(box(0, 0, 0, 6, 6, 16), box(10, 0, 0, 16, 6, 16)), - Shapes.or(box(0, 10, 0, 6, 16, 16), box(10, 10, 0, 16, 16, 16)), + Shapes.or(box(0, 0, 0, 6, 6, 16), box(10, 0, 0, 16, 6, 16)), + Shapes.or(box(0, 10, 0, 6, 16, 16), box(10, 10, 0, 16, 16, 16)), - Shapes.or(box(0, 0, 0, 6, 16, 6), box(10, 0, 0, 16, 16, 6)), - Shapes.or(box(0, 0, 10, 6, 16, 16), box(10, 0, 10, 16, 16, 16)) - )); + Shapes.or(box(0, 0, 0, 6, 16, 6), box(10, 0, 0, 16, 16, 6)), + Shapes.or(box(0, 0, 10, 6, 16, 16), box(10, 0, 10, 16, 16, 16)) + )); } } diff --git a/src/main/java/org/betterx/betterend/blocks/MengerSpongeWetBlock.java b/src/main/java/org/betterx/betterend/blocks/MengerSpongeWetBlock.java index 6fa9deab..b3f8ae4d 100644 --- a/src/main/java/org/betterx/betterend/blocks/MengerSpongeWetBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MengerSpongeWetBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -23,12 +29,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - @SuppressWarnings("deprecation") public class MengerSpongeWetBlock extends BaseBlockNotFull implements RenderLayerProvider { public MengerSpongeWetBlock() { @@ -47,7 +47,7 @@ public class MengerSpongeWetBlock extends BaseBlockNotFull implements RenderLaye SoundSource.BLOCKS, 1.0F, (1.0F + world.getRandom().nextFloat() * 0.2F) * 0.7F - ); + ); } } @@ -119,10 +119,12 @@ public class MengerSpongeWetBlock extends BaseBlockNotFull implements RenderLaye } @Override - public VoxelShape getShape(BlockState blockState, - BlockGetter blockGetter, - BlockPos blockPos, - CollisionContext collisionContext) { + public VoxelShape getShape( + BlockState blockState, + BlockGetter blockGetter, + BlockPos blockPos, + CollisionContext collisionContext + ) { return EndBlocks.MENGER_SPONGE.getShape(blockState, blockGetter, blockPos, collisionContext); } } diff --git a/src/main/java/org/betterx/betterend/blocks/MissingTileBlock.java b/src/main/java/org/betterx/betterend/blocks/MissingTileBlock.java index 11fb2b08..bf543766 100644 --- a/src/main/java/org/betterx/betterend/blocks/MissingTileBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MissingTileBlock.java @@ -1,11 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.world.level.block.Blocks; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; - public class MissingTileBlock extends BaseBlock { public MissingTileBlock() { super(FabricBlockSettings.copyOf(Blocks.END_STONE)); diff --git a/src/main/java/org/betterx/betterend/blocks/MossyDragonBoneBlock.java b/src/main/java/org/betterx/betterend/blocks/MossyDragonBoneBlock.java index fe69a79d..25cc041c 100644 --- a/src/main/java/org/betterx/betterend/blocks/MossyDragonBoneBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MossyDragonBoneBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseRotatedPillarBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -17,9 +20,6 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseRotatedPillarBlock; -import org.betterx.betterend.registry.EndBlocks; - import java.util.Collections; import java.util.List; @@ -62,7 +62,7 @@ public class MossyDragonBoneBlock extends BaseRotatedPillarBlock { blockPos, Direction.UP, blockState.getLightBlock(worldView, blockPos) - ); + ); return i < 5; } } diff --git a/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomCapBlock.java b/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomCapBlock.java index e5447f29..9e499245 100644 --- a/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomCapBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomCapBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.NamedMineableTags; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.interfaces.TagProvider; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.context.BlockPlaceContext; @@ -12,11 +17,6 @@ import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.api.v2.tag.NamedMineableTags; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.interfaces.TagProvider; -import org.betterx.betterend.registry.EndBlocks; - import java.util.List; public class MossyGlowshroomCapBlock extends BaseBlock implements TagProvider { @@ -33,7 +33,7 @@ public class MossyGlowshroomCapBlock extends BaseBlock implements TagProvider { TRANSITION, EndBlocks.MOSSY_GLOWSHROOM.isTreeLog(ctx.getLevel() .getBlockState(ctx.getClickedPos().below())) - ); + ); } protected void createBlockStateDefinition(StateDefinition.Builder builder) { diff --git a/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomSaplingBlock.java index 3283d600..9b22799f 100644 --- a/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MossyGlowshroomSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class MossyGlowshroomSaplingBlock extends PottableFeatureSapling { public MossyGlowshroomSaplingBlock() { super(7, (state) -> EndFeatures.MOSSY_GLOWSHROOM); diff --git a/src/main/java/org/betterx/betterend/blocks/MossyObsidian.java b/src/main/java/org/betterx/betterend/blocks/MossyObsidian.java index 5c8f2d17..5cdb2b2e 100644 --- a/src/main/java/org/betterx/betterend/blocks/MossyObsidian.java +++ b/src/main/java/org/betterx/betterend/blocks/MossyObsidian.java @@ -1,5 +1,7 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -17,8 +19,6 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; - import java.util.Collections; import java.util.List; @@ -61,7 +61,7 @@ public class MossyObsidian extends BaseBlock { blockPos, Direction.UP, blockState.getLightBlock(worldView, blockPos) - ); + ); return i < 5; } } diff --git a/src/main/java/org/betterx/betterend/blocks/MurkweedBlock.java b/src/main/java/org/betterx/betterend/blocks/MurkweedBlock.java index c9e4caeb..6d693af2 100644 --- a/src/main/java/org/betterx/betterend/blocks/MurkweedBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/MurkweedBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.util.RandomSource; @@ -15,9 +18,6 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class MurkweedBlock extends EndPlantBlock { @Override @Environment(EnvType.CLIENT) diff --git a/src/main/java/org/betterx/betterend/blocks/NeedlegrassBlock.java b/src/main/java/org/betterx/betterend/blocks/NeedlegrassBlock.java index c4b07728..d7165a6f 100644 --- a/src/main/java/org/betterx/betterend/blocks/NeedlegrassBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/NeedlegrassBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.items.tool.BaseShearsItem; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; @@ -16,10 +21,6 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import com.google.common.collect.Lists; -import org.betterx.bclib.items.tool.BaseShearsItem; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; @@ -38,7 +39,7 @@ public class NeedlegrassBlock extends EndPlantBlock { if (tool != null && BaseShearsItem.isShear(tool) || EnchantmentHelper.getItemEnchantmentLevel( Enchantments.SILK_TOUCH, tool - ) > 0) { + ) > 0) { return Lists.newArrayList(new ItemStack(this)); } else { return Lists.newArrayList(new ItemStack(Items.STICK, MHelper.randRange(0, 2, MHelper.RANDOM_SOURCE))); diff --git a/src/main/java/org/betterx/betterend/blocks/NeonCactusBlock.java b/src/main/java/org/betterx/betterend/blocks/NeonCactusBlock.java index aac7588c..2958e556 100644 --- a/src/main/java/org/betterx/betterend/blocks/NeonCactusBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/NeonCactusBlock.java @@ -1,11 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.LitPillarBlock; + import net.minecraft.world.level.block.Blocks; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.betterend.blocks.basis.LitPillarBlock; - public class NeonCactusBlock extends LitPillarBlock { public NeonCactusBlock() { super(FabricBlockSettings.copyOf(Blocks.CACTUS).luminance(15)); diff --git a/src/main/java/org/betterx/betterend/blocks/NeonCactusPlantBlock.java b/src/main/java/org/betterx/betterend/blocks/NeonCactusPlantBlock.java index 9ee1bdfd..40576f0c 100644 --- a/src/main/java/org/betterx/betterend/blocks/NeonCactusPlantBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/NeonCactusPlantBlock.java @@ -1,5 +1,17 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.EndBlockProperties.CactusBottom; +import org.betterx.betterend.interfaces.PottablePlant; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -29,17 +41,6 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.EndBlockProperties.CactusBottom; -import org.betterx.betterend.interfaces.PottablePlant; -import org.betterx.betterend.registry.EndBlocks; import java.util.EnumMap; import java.util.List; @@ -106,12 +107,14 @@ public class NeonCactusPlantBlock extends BaseBlockNotFull implements SimpleWate } @Override - public BlockState updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + public BlockState updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { world.scheduleTick(pos, this, 2); if (state.getValue(WATERLOGGED)) { world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world)); @@ -235,11 +238,13 @@ public class NeonCactusPlantBlock extends BaseBlockNotFull implements SimpleWate } } - private boolean growIteration(WorldGenLevel world, - MutableBlockPos pos, - RandomSource random, - List ends, - int length) { + private boolean growIteration( + WorldGenLevel world, + MutableBlockPos pos, + RandomSource random, + List ends, + int length + ) { BlockState state = world.getBlockState(pos); if (!state.is(this)) { return false; @@ -278,11 +283,13 @@ public class NeonCactusPlantBlock extends BaseBlockNotFull implements SimpleWate return true; } - private Direction getSideDirection(WorldGenLevel world, - BlockPos pos, - BlockState iterState, - Direction dir, - RandomSource random) { + private Direction getSideDirection( + WorldGenLevel world, + BlockPos pos, + BlockState iterState, + Direction dir, + RandomSource random + ) { MutableBlockPos iterPos = pos.mutable(); Direction startDir = dir; Direction lastDir = null; @@ -312,10 +319,12 @@ public class NeonCactusPlantBlock extends BaseBlockNotFull implements SimpleWate } @Override - public boolean isPathfindable(BlockState blockState, - BlockGetter blockGetter, - BlockPos blockPos, - PathComputationType pathComputationType) { + public boolean isPathfindable( + BlockState blockState, + BlockGetter blockGetter, + BlockPos blockPos, + PathComputationType pathComputationType + ) { return false; } diff --git a/src/main/java/org/betterx/betterend/blocks/PallidiumBlock.java b/src/main/java/org/betterx/betterend/blocks/PallidiumBlock.java index 67edb1c5..37f5527b 100644 --- a/src/main/java/org/betterx/betterend/blocks/PallidiumBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/PallidiumBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.basis.EndTerrainBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -17,10 +21,6 @@ import net.minecraft.world.phys.BlockHitResult; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.basis.EndTerrainBlock; -import org.betterx.betterend.registry.EndBlocks; - import java.util.Map; public class PallidiumBlock extends EndTerrainBlock { @@ -41,12 +41,14 @@ public class PallidiumBlock extends EndTerrainBlock { } @Override - public InteractionResult use(BlockState state, - Level level, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level level, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { if (nextLevel == null) { return InteractionResult.PASS; } else if (level.isClientSide) { @@ -66,9 +68,11 @@ public class PallidiumBlock extends EndTerrainBlock { @Override @Environment(EnvType.CLIENT) - public UnbakedModel getModelVariant(ResourceLocation stateId, - BlockState blockState, - Map modelCache) { + public UnbakedModel getModelVariant( + ResourceLocation stateId, + BlockState blockState, + Map modelCache + ) { return this.getBlockModel(stateId, blockState); } } diff --git a/src/main/java/org/betterx/betterend/blocks/PedestalVanilla.java b/src/main/java/org/betterx/betterend/blocks/PedestalVanilla.java index 44dd28ae..d2c33f31 100644 --- a/src/main/java/org/betterx/betterend/blocks/PedestalVanilla.java +++ b/src/main/java/org/betterx/betterend/blocks/PedestalVanilla.java @@ -1,11 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PedestalBlock; + import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.Block; -import org.betterx.betterend.blocks.basis.PedestalBlock; - import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/org/betterx/betterend/blocks/PondAnemoneBlock.java b/src/main/java/org/betterx/betterend/blocks/PondAnemoneBlock.java index cc5547ca..583fbe9f 100644 --- a/src/main/java/org/betterx/betterend/blocks/PondAnemoneBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/PondAnemoneBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; + import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.util.RandomSource; @@ -16,9 +19,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.betterend.blocks.basis.EndUnderwaterPlantBlock; - public class PondAnemoneBlock extends EndUnderwaterPlantBlock implements AddMineableShears { private static final VoxelShape SHAPE = Block.box(2, 0, 2, 14, 14, 14); diff --git a/src/main/java/org/betterx/betterend/blocks/PythadendronSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/PythadendronSaplingBlock.java index 8c978d06..7e4e6055 100644 --- a/src/main/java/org/betterx/betterend/blocks/PythadendronSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/PythadendronSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class PythadendronSaplingBlock extends PottableFeatureSapling { public PythadendronSaplingBlock() { super((state) -> EndFeatures.PYTHADENDRON_TREE); diff --git a/src/main/java/org/betterx/betterend/blocks/RespawnObeliskBlock.java b/src/main/java/org/betterx/betterend/blocks/RespawnObeliskBlock.java index cd9e0f0c..d1899f8a 100644 --- a/src/main/java/org/betterx/betterend/blocks/RespawnObeliskBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/RespawnObeliskBlock.java @@ -1,5 +1,17 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.betterend.particle.InfusionParticleType; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.core.BlockPos; @@ -32,17 +44,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.betterend.particle.InfusionParticleType; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; import java.util.List; import org.jetbrains.annotations.Nullable; @@ -82,11 +83,13 @@ public class RespawnObeliskBlock extends BaseBlock implements CustomColorProvide } @Override - public void setPlacedBy(Level world, - BlockPos pos, - BlockState state, - @Nullable LivingEntity placer, - ItemStack itemStack) { + public void setPlacedBy( + Level world, + BlockPos pos, + BlockState state, + @Nullable LivingEntity placer, + ItemStack itemStack + ) { state = this.defaultBlockState(); BlocksHelper.setWithUpdate(world, pos, state.setValue(SHAPE, TripleShape.BOTTOM)); BlocksHelper.setWithUpdate(world, pos.above(), state.setValue(SHAPE, TripleShape.MIDDLE)); @@ -95,12 +98,14 @@ public class RespawnObeliskBlock extends BaseBlock implements CustomColorProvide @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { TripleShape shape = state.getValue(SHAPE); if (shape == TripleShape.BOTTOM) { if (world.getBlockState(pos.above()).is(this)) { @@ -164,12 +169,14 @@ public class RespawnObeliskBlock extends BaseBlock implements CustomColorProvide @Override @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level world, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level world, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { ItemStack itemStack = player.getItemInHand(hand); boolean canActivate = itemStack.getItem() == EndItems.AMBER_GEM && itemStack.getCount() > 5; if (hand != InteractionHand.MAIN_HAND || !canActivate) { @@ -178,7 +185,7 @@ public class RespawnObeliskBlock extends BaseBlock implements CustomColorProvide serverPlayerEntity.displayClientMessage( Component.translatable("message.betterend.fail_spawn"), true - ); + ); } return InteractionResult.FAIL; } else if (!world.isClientSide) { diff --git a/src/main/java/org/betterx/betterend/blocks/RunedFlavolite.java b/src/main/java/org/betterx/betterend/blocks/RunedFlavolite.java index 7cceeb4e..38df9229 100644 --- a/src/main/java/org/betterx/betterend/blocks/RunedFlavolite.java +++ b/src/main/java/org/betterx/betterend/blocks/RunedFlavolite.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Explosion; import net.minecraft.world.level.block.Block; @@ -12,10 +17,6 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; @@ -29,7 +30,7 @@ public class RunedFlavolite extends BaseBlock { unbreakable ? Blocks.BEDROCK.getExplosionResistance() : Blocks.OBSIDIAN.getExplosionResistance() - ) + ) .luminance(state -> { return state.getValue(ACTIVATED) ? 8 : 0; })); diff --git a/src/main/java/org/betterx/betterend/blocks/ShadowBerryBlock.java b/src/main/java/org/betterx/betterend/blocks/ShadowBerryBlock.java index 6b95695a..e808a0ca 100644 --- a/src/main/java/org/betterx/betterend/blocks/ShadowBerryBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/ShadowBerryBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableCropBlock; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; @@ -7,10 +11,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import org.betterx.betterend.blocks.basis.PottableCropBlock; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - public class ShadowBerryBlock extends PottableCropBlock { private static final VoxelShape SHAPE = Block.box(1, 0, 1, 15, 8, 15); diff --git a/src/main/java/org/betterx/betterend/blocks/ShadowGrassBlock.java b/src/main/java/org/betterx/betterend/blocks/ShadowGrassBlock.java index d2719be4..b1364ea1 100644 --- a/src/main/java/org/betterx/betterend/blocks/ShadowGrassBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/ShadowGrassBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.interfaces.TagProvider; +import org.betterx.betterend.blocks.basis.EndTerrainBlock; +import org.betterx.betterend.registry.EndParticles; + import net.minecraft.core.BlockPos; import net.minecraft.tags.TagKey; import net.minecraft.util.RandomSource; @@ -12,11 +17,6 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.interfaces.TagProvider; -import org.betterx.betterend.blocks.basis.EndTerrainBlock; -import org.betterx.betterend.registry.EndParticles; - import java.util.List; public class ShadowGrassBlock extends EndTerrainBlock implements TagProvider { @@ -36,7 +36,7 @@ public class ShadowGrassBlock extends EndTerrainBlock implements TagProvider { 0.0D, 0.0D, 0.0D - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/blocks/SilkMothHiveBlock.java b/src/main/java/org/betterx/betterend/blocks/SilkMothHiveBlock.java index 54eb72df..5b0ace24 100644 --- a/src/main/java/org/betterx/betterend/blocks/SilkMothHiveBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SilkMothHiveBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.items.tool.BaseShearsItem; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.entity.SilkMothEntity; +import org.betterx.betterend.registry.EndEntities; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -29,14 +37,6 @@ import net.minecraft.world.phys.Vec3; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.items.tool.BaseShearsItem; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.entity.SilkMothEntity; -import org.betterx.betterend.registry.EndEntities; -import org.betterx.betterend.registry.EndItems; - public class SilkMothHiveBlock extends BaseBlock { public static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; public static final IntegerProperty FULLNESS = EndBlockProperties.FULLNESS; @@ -98,12 +98,14 @@ public class SilkMothHiveBlock extends BaseBlock { @Override @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level world, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level world, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { if (hand == InteractionHand.MAIN_HAND) { ItemStack stack = player.getMainHandItem(); if (BaseShearsItem.isShear(stack) && state.getValue(FULLNESS) == 3) { diff --git a/src/main/java/org/betterx/betterend/blocks/SilkMothNestBlock.java b/src/main/java/org/betterx/betterend/blocks/SilkMothNestBlock.java index 25b4b83b..76d79fa4 100644 --- a/src/main/java/org/betterx/betterend/blocks/SilkMothNestBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SilkMothNestBlock.java @@ -1,5 +1,15 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.items.tool.BaseShearsItem; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.entity.SilkMothEntity; +import org.betterx.betterend.registry.EndEntities; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -33,16 +43,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.items.tool.BaseShearsItem; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.entity.SilkMothEntity; -import org.betterx.betterend.registry.EndEntities; -import org.betterx.betterend.registry.EndItems; - import java.util.Collections; import java.util.List; @@ -87,12 +87,14 @@ public class SilkMothNestBlock extends BaseBlock implements RenderLayerProvider @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { if (!state.getValue(ACTIVE)) { if (canSupportCenter(world, pos.above(), Direction.DOWN) || world.getBlockState(pos.above()) .is(BlockTags.LEAVES)) { @@ -163,12 +165,14 @@ public class SilkMothNestBlock extends BaseBlock implements RenderLayerProvider @Override @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level world, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level world, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { if (hand == InteractionHand.MAIN_HAND) { ItemStack stack = player.getMainHandItem(); if (BaseShearsItem.isShear(stack) && state.getValue(ACTIVE) && state.getValue(FULLNESS) == 3) { diff --git a/src/main/java/org/betterx/betterend/blocks/SmallAmaranitaBlock.java b/src/main/java/org/betterx/betterend/blocks/SmallAmaranitaBlock.java index 385fea09..517b58ac 100644 --- a/src/main/java/org/betterx/betterend/blocks/SmallAmaranitaBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SmallAmaranitaBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -8,18 +13,11 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - import java.util.Optional; public class SmallAmaranitaBlock extends EndPlantBlock { @@ -35,7 +33,14 @@ public class SmallAmaranitaBlock extends EndPlantBlock { BlockPos bigPos = growBig(world, pos); if (bigPos != null) { if (EndFeatures.GIGANTIC_AMARANITA.getFeature() - .place(new FeaturePlaceContext<>(Optional.empty(), world, null, random, bigPos, null))) { + .place(new FeaturePlaceContext<>( + Optional.empty(), + world, + null, + random, + bigPos, + null + ))) { replaceMushroom(world, bigPos); replaceMushroom(world, bigPos.south()); replaceMushroom(world, bigPos.east()); @@ -49,7 +54,8 @@ public class SmallAmaranitaBlock extends EndPlantBlock { null, random, pos, - null)); + null + )); } @Override @@ -72,7 +78,7 @@ public class SmallAmaranitaBlock extends EndPlantBlock { private boolean checkFrame(ServerLevel world, BlockPos pos) { return world.getBlockState(pos).is(this) && world.getBlockState(pos.south()).is(this) && world.getBlockState(pos - .east()) + .east()) .is(this) && world.getBlockState( pos.south().east()).is(this); } diff --git a/src/main/java/org/betterx/betterend/blocks/SmallJellyshroomBlock.java b/src/main/java/org/betterx/betterend/blocks/SmallJellyshroomBlock.java index 9a317bd9..e03cd1a7 100644 --- a/src/main/java/org/betterx/betterend/blocks/SmallJellyshroomBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SmallJellyshroomBlock.java @@ -1,5 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.items.tool.BaseShearsItem; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.interfaces.PottablePlant; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -29,14 +38,6 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.items.tool.BaseShearsItem; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.interfaces.PottablePlant; -import org.betterx.betterend.registry.EndFeatures; import java.util.EnumMap; import java.util.List; @@ -61,7 +62,7 @@ public class SmallJellyshroomBlock extends BaseAttachedBlock implements RenderLa if (tool != null && BaseShearsItem.isShear(tool) || EnchantmentHelper.getItemEnchantmentLevel( Enchantments.SILK_TOUCH, tool - ) > 0) { + ) > 0) { return Lists.newArrayList(new ItemStack(this)); } else { return Lists.newArrayList(); @@ -110,7 +111,8 @@ public class SmallJellyshroomBlock extends BaseAttachedBlock implements RenderLa null, random, pos, - null)); + null + )); } @Override diff --git a/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalBlock.java b/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalBlock.java index 5b2f540f..b33f7a65 100644 --- a/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalBlock.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; +import org.betterx.betterend.blocks.basis.LitPillarBlock; + import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.Material; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; -import org.betterx.betterend.blocks.basis.LitPillarBlock; - public class SmaragdantCrystalBlock extends LitPillarBlock implements AddMineablePickaxe { public SmaragdantCrystalBlock() { super(FabricBlockSettings.of(Material.GLASS) diff --git a/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalShardBlock.java b/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalShardBlock.java index 9b40862d..566d7843 100644 --- a/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalShardBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SmaragdantCrystalShardBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; @@ -22,10 +27,6 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Maps; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; import java.util.EnumMap; diff --git a/src/main/java/org/betterx/betterend/blocks/SulphurCrystalBlock.java b/src/main/java/org/betterx/betterend/blocks/SulphurCrystalBlock.java index 9e018849..704a8f80 100644 --- a/src/main/java/org/betterx/betterend/blocks/SulphurCrystalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/SulphurCrystalBlock.java @@ -1,5 +1,13 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; @@ -26,13 +34,6 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineablePickaxe; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; import java.util.Collections; import java.util.EnumMap; diff --git a/src/main/java/org/betterx/betterend/blocks/TenaneaFlowersBlock.java b/src/main/java/org/betterx/betterend/blocks/TenaneaFlowersBlock.java index 278b8599..8a3cb7be 100644 --- a/src/main/java/org/betterx/betterend/blocks/TenaneaFlowersBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/TenaneaFlowersBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseVineBlock; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndParticles; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.core.BlockPos; @@ -13,12 +19,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.blocks.BaseVineBlock; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndParticles; - public class TenaneaFlowersBlock extends BaseVineBlock implements CustomColorProvider { public static final Vec3i[] COLORS; diff --git a/src/main/java/org/betterx/betterend/blocks/TenaneaSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/TenaneaSaplingBlock.java index 33e42e30..db8ce7f1 100644 --- a/src/main/java/org/betterx/betterend/blocks/TenaneaSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/TenaneaSaplingBlock.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.PottableFeatureSapling; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; + import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PottableFeatureSapling; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; - public class TenaneaSaplingBlock extends PottableFeatureSapling { public TenaneaSaplingBlock() { super((state) -> EndFeatures.TENANEA); diff --git a/src/main/java/org/betterx/betterend/blocks/TerrainPlantBlock.java b/src/main/java/org/betterx/betterend/blocks/TerrainPlantBlock.java index 1e6b646e..c6013d1b 100644 --- a/src/main/java/org/betterx/betterend/blocks/TerrainPlantBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/TerrainPlantBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.betterend.blocks.basis.EndPlantBlock; + import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.EndPlantBlock; - public class TerrainPlantBlock extends EndPlantBlock { private final Block[] ground; diff --git a/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossBlock.java b/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossBlock.java index 4fb3f1c7..5a52b679 100644 --- a/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -10,11 +15,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class TwistedUmbrellaMossBlock extends EndPlantBlock { public TwistedUmbrellaMossBlock() { super(11); diff --git a/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossTallBlock.java b/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossTallBlock.java index ea36bf2a..36788839 100644 --- a/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossTallBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/TwistedUmbrellaMossTallBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -7,9 +10,6 @@ import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class TwistedUmbrellaMossTallBlock extends BaseDoublePlantBlock { public TwistedUmbrellaMossTallBlock() { super(12); diff --git a/src/main/java/org/betterx/betterend/blocks/UmbrellaMossBlock.java b/src/main/java/org/betterx/betterend/blocks/UmbrellaMossBlock.java index 084f3486..5a7cea99 100644 --- a/src/main/java/org/betterx/betterend/blocks/UmbrellaMossBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/UmbrellaMossBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.basis.EndPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -10,11 +15,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.basis.EndPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class UmbrellaMossBlock extends EndPlantBlock { public UmbrellaMossBlock() { super(11); diff --git a/src/main/java/org/betterx/betterend/blocks/UmbrellaMossTallBlock.java b/src/main/java/org/betterx/betterend/blocks/UmbrellaMossTallBlock.java index 9242acee..4a9c8b36 100644 --- a/src/main/java/org/betterx/betterend/blocks/UmbrellaMossTallBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/UmbrellaMossTallBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -7,9 +10,6 @@ import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class UmbrellaMossTallBlock extends BaseDoublePlantBlock { public UmbrellaMossTallBlock() { super(12); diff --git a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterBlock.java b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterBlock.java index c7df32f9..88c2fbe2 100644 --- a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterBlock.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -19,21 +25,15 @@ import net.minecraft.world.phys.BlockHitResult; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - public class UmbrellaTreeClusterBlock extends BaseBlock { public static final BooleanProperty NATURAL = BlockProperties.NATURAL; public UmbrellaTreeClusterBlock() { super(FabricBlockSettings - .copyOf(Blocks.NETHER_WART_BLOCK) - .mapColor(MaterialColor.COLOR_PURPLE) - .luminance(15) - ); + .copyOf(Blocks.NETHER_WART_BLOCK) + .mapColor(MaterialColor.COLOR_PURPLE) + .luminance(15) + ); registerDefaultState(stateDefinition.any().setValue(NATURAL, false)); } @@ -44,12 +44,14 @@ public class UmbrellaTreeClusterBlock extends BaseBlock { @Override @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level world, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level world, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { ItemStack stack = player.getMainHandItem(); if (stack.getItem() == Items.GLASS_BOTTLE) { if (!player.isCreative()) { @@ -66,12 +68,12 @@ public class UmbrellaTreeClusterBlock extends BaseBlock { 1, 1, false - ); + ); BlocksHelper.setWithUpdate( world, pos, EndBlocks.UMBRELLA_TREE_CLUSTER_EMPTY.defaultBlockState().setValue(NATURAL, state.getValue(NATURAL)) - ); + ); return InteractionResult.SUCCESS; } return InteractionResult.FAIL; diff --git a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java index ce2470e7..be832127 100644 --- a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeClusterEmptyBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.blocks.BaseBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -12,19 +16,15 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - public class UmbrellaTreeClusterEmptyBlock extends BaseBlock { public static final BooleanProperty NATURAL = EndBlockProperties.NATURAL; public UmbrellaTreeClusterEmptyBlock() { super(FabricBlockSettings - .copyOf(Blocks.NETHER_WART_BLOCK) - .mapColor(MaterialColor.COLOR_PURPLE) - .randomTicks() - ); + .copyOf(Blocks.NETHER_WART_BLOCK) + .mapColor(MaterialColor.COLOR_PURPLE) + .randomTicks() + ); registerDefaultState(stateDefinition.any().setValue(NATURAL, false)); } @@ -41,7 +41,7 @@ public class UmbrellaTreeClusterEmptyBlock extends BaseBlock { world, pos, EndBlocks.UMBRELLA_TREE_CLUSTER.defaultBlockState().setValue(UmbrellaTreeClusterBlock.NATURAL, true) - ); + ); } } } diff --git a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeMembraneBlock.java b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeMembraneBlock.java index a74083b7..17eaa887 100644 --- a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeMembraneBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeMembraneBlock.java @@ -1,5 +1,12 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.BlockModelProvider; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -20,12 +27,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.BlockModelProvider; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; import java.util.Collections; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeSaplingBlock.java b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeSaplingBlock.java index 16bab14c..9be1feaf 100644 --- a/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeSaplingBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/UmbrellaTreeSaplingBlock.java @@ -1,15 +1,15 @@ package org.betterx.betterend.blocks; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.LevelReader; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.client.render.BCLRenderLayer; import org.betterx.betterend.blocks.basis.PottableFeatureSapling; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndFeatures; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; + public class UmbrellaTreeSaplingBlock extends PottableFeatureSapling { public UmbrellaTreeSaplingBlock() { super((state) -> EndFeatures.UMBRELLA_TREE); diff --git a/src/main/java/org/betterx/betterend/blocks/VentBubbleColumnBlock.java b/src/main/java/org/betterx/betterend/blocks/VentBubbleColumnBlock.java index b4667433..7b645578 100644 --- a/src/main/java/org/betterx/betterend/blocks/VentBubbleColumnBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/VentBubbleColumnBlock.java @@ -1,5 +1,8 @@ package org.betterx.betterend.blocks; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; @@ -29,9 +32,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - import java.util.Optional; public class VentBubbleColumnBlock extends Block implements BucketPickup, LiquidBlockContainer { @@ -66,12 +66,14 @@ public class VentBubbleColumnBlock extends Block implements BucketPickup, Liquid @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + public BlockState updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { if (!state.canSurvive(world, pos)) { return Blocks.WATER.defaultBlockState(); } else { @@ -102,7 +104,7 @@ public class VentBubbleColumnBlock extends Block implements BucketPickup, Liquid 0.2F + random.nextFloat() * 0.2F, 0.9F + random.nextFloat() * 0.15F, false - ); + ); } } @@ -126,7 +128,7 @@ public class VentBubbleColumnBlock extends Block implements BucketPickup, Liquid 0.0D, 0.0D, 1.0D - ); + ); serverWorld.sendParticles( ParticleTypes.BUBBLE, (double) pos.getX() + world.random.nextDouble(), @@ -137,7 +139,7 @@ public class VentBubbleColumnBlock extends Block implements BucketPickup, Liquid 0.01D, 0.0D, 0.2D - ); + ); } } } else { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndAnvilBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndAnvilBlock.java index 175d7176..9038eacc 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndAnvilBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndAnvilBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.material.MaterialColor; - import org.betterx.bclib.blocks.LeveledAnvilBlock; import org.betterx.betterend.complexmaterials.MetalMaterial; +import net.minecraft.world.level.material.MaterialColor; + public class EndAnvilBlock extends LeveledAnvilBlock { protected MetalMaterial metalMaterial; diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndLanternBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndLanternBlock.java index 85a2007e..664453ce 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndLanternBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndLanternBlock.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.client.models.ModelsHelper; + import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -24,10 +28,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.client.models.ModelsHelper; - import java.util.Map; @SuppressWarnings("deprecation") @@ -91,12 +91,14 @@ public class EndLanternBlock extends BaseBlockNotFull implements SimpleWaterlogg } @Override - public BlockState updateShape(BlockState state, - Direction facing, - BlockState neighborState, - LevelAccessor world, - BlockPos pos, - BlockPos neighborPos) { + public BlockState updateShape( + BlockState state, + Direction facing, + BlockState neighborState, + LevelAccessor world, + BlockPos pos, + BlockPos neighborPos + ) { Boolean water = state.getValue(WATERLOGGED); if (water) { world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world)); @@ -125,9 +127,11 @@ public class EndLanternBlock extends BaseBlockNotFull implements SimpleWaterlogg @Override @Environment(EnvType.CLIENT) - public UnbakedModel getModelVariant(ResourceLocation stateId, - BlockState blockState, - Map modelCache) { + public UnbakedModel getModelVariant( + ResourceLocation stateId, + BlockState blockState, + Map modelCache + ) { String floor = blockState.getValue(IS_FLOOR) ? "_floor" : ""; ResourceLocation modelId = new ResourceLocation(stateId.getNamespace(), "block/" + stateId.getPath() + floor); registerBlockModel(stateId, modelId, blockState, modelCache); diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndPlantBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndPlantBlock.java index 3a1c23b3..f197c655 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndPlantBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndPlantBlock.java @@ -1,12 +1,12 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BasePlantBlock; import org.betterx.betterend.interfaces.PottablePlant; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; + import java.util.function.Function; public class EndPlantBlock extends BasePlantBlock implements PottablePlant { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndPlantWithAgeBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndPlantWithAgeBlock.java index 469a65b1..c56ca0e4 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndPlantWithAgeBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndPlantWithAgeBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BasePlantWithAgeBlock; +import net.minecraft.world.level.block.state.BlockState; + import java.util.function.Function; public abstract class EndPlantWithAgeBlock extends BasePlantWithAgeBlock { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndTerrainBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndTerrainBlock.java index b6a45306..3b8a3cba 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndTerrainBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndTerrainBlock.java @@ -1,16 +1,16 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.BaseTerrainBlock; +import org.betterx.bclib.interfaces.TagProvider; +import org.betterx.betterend.interfaces.PottableTerrain; + import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.BaseTerrainBlock; -import org.betterx.bclib.interfaces.TagProvider; -import org.betterx.betterend.interfaces.PottableTerrain; - import java.util.List; public class EndTerrainBlock extends BaseTerrainBlock implements PottableTerrain, TagProvider { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndTripleTerrain.java b/src/main/java/org/betterx/betterend/blocks/basis/EndTripleTerrain.java index 80897d4a..1bbcc2b4 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndTripleTerrain.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndTripleTerrain.java @@ -1,11 +1,11 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.MaterialColor; - import org.betterx.bclib.blocks.TripleTerrainBlock; import org.betterx.betterend.interfaces.PottableTerrain; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.MaterialColor; + public class EndTripleTerrain extends TripleTerrainBlock implements PottableTerrain { public EndTripleTerrain(MaterialColor color) { super(Blocks.END_STONE, color); diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterPlantBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterPlantBlock.java index 241da9f2..554ad700 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterPlantBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterPlantBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.UnderwaterPlantBlock; +import net.minecraft.world.level.block.state.BlockState; + import java.util.function.Function; public class EndUnderwaterPlantBlock extends UnderwaterPlantBlock { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterWallPlantBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterWallPlantBlock.java index 6d1f5812..8a9ab6ac 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterWallPlantBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndUnderwaterWallPlantBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BaseUnderwaterWallPlantBlock; +import net.minecraft.world.level.block.state.BlockState; + public class EndUnderwaterWallPlantBlock extends BaseUnderwaterWallPlantBlock { public EndUnderwaterWallPlantBlock() { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndWallMushroom.java b/src/main/java/org/betterx/betterend/blocks/basis/EndWallMushroom.java index 19f4d53c..ad52537e 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndWallMushroom.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndWallMushroom.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.WallMushroomBlock; +import net.minecraft.world.level.block.state.BlockState; + public class EndWallMushroom extends WallMushroomBlock { public EndWallMushroom(int light) { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/EndWallPlantBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/EndWallPlantBlock.java index 5a84101b..ccc95db0 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/EndWallPlantBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/EndWallPlantBlock.java @@ -1,10 +1,10 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BaseWallPlantBlock; +import net.minecraft.world.level.block.state.BlockState; + public class EndWallPlantBlock extends BaseWallPlantBlock { public EndWallPlantBlock() { } diff --git a/src/main/java/org/betterx/betterend/blocks/basis/FurBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/FurBlock.java index df774fec..51d5c546 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/FurBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/FurBlock.java @@ -1,5 +1,14 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.api.v2.tag.NamedBlockTags; +import org.betterx.bclib.api.v2.tag.TagAPI; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.client.render.BCLRenderLayer; +import org.betterx.bclib.interfaces.RenderLayerProvider; +import org.betterx.bclib.interfaces.tools.AddMineableShears; +import org.betterx.bclib.items.tool.BaseShearsItem; +import org.betterx.bclib.util.MHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.ItemStack; @@ -20,14 +29,6 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.betterx.bclib.api.v2.tag.NamedBlockTags; -import org.betterx.bclib.api.v2.tag.TagAPI; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.client.render.BCLRenderLayer; -import org.betterx.bclib.interfaces.RenderLayerProvider; -import org.betterx.bclib.interfaces.tools.AddMineableShears; -import org.betterx.bclib.items.tool.BaseShearsItem; -import org.betterx.bclib.util.MHelper; import java.util.EnumMap; import java.util.List; @@ -69,7 +70,7 @@ public class FurBlock extends BaseAttachedBlock implements RenderLayerProvider, if (tool != null && BaseShearsItem.isShear(tool) || EnchantmentHelper.getItemEnchantmentLevel( Enchantments.SILK_TOUCH, tool - ) > 0) { + ) > 0) { return Lists.newArrayList(new ItemStack(this)); } else if (dropChance < 1 || MHelper.RANDOM.nextInt(dropChance) == 0) { return Lists.newArrayList(new ItemStack(drop)); diff --git a/src/main/java/org/betterx/betterend/blocks/basis/LitBaseBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/LitBaseBlock.java index b5c53f11..614b0c96 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/LitBaseBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/LitBaseBlock.java @@ -1,5 +1,7 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.blocks.BaseBlock; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.state.BlockState; @@ -7,8 +9,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.blocks.BaseBlock; - import org.jetbrains.annotations.Nullable; public class LitBaseBlock extends BaseBlock { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/LitPillarBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/LitPillarBlock.java index b0092cee..a6a365b5 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/LitPillarBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/LitPillarBlock.java @@ -1,12 +1,12 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.blocks.BaseRotatedPillarBlock; + import net.minecraft.resources.ResourceLocation; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.blocks.BaseRotatedPillarBlock; - import java.util.Optional; public class LitPillarBlock extends BaseRotatedPillarBlock { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/PedestalBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/PedestalBlock.java index cf5cd9d8..5d357336 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/PedestalBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/PedestalBlock.java @@ -1,5 +1,16 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.blocks.BaseBlockNotFull; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.betterend.blocks.EndBlockProperties; +import org.betterx.betterend.blocks.EndBlockProperties.PedestalState; +import org.betterx.betterend.blocks.InfusionPedestal; +import org.betterx.betterend.blocks.entities.InfusionPedestalEntity; +import org.betterx.betterend.blocks.entities.PedestalBlockEntity; +import org.betterx.betterend.client.models.Patterns; +import org.betterx.betterend.rituals.InfusionRitual; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.client.resources.model.UnbakedModel; import net.minecraft.core.BlockPos; @@ -36,16 +47,6 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.betterx.bclib.blocks.BaseBlockNotFull; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.betterend.blocks.EndBlockProperties; -import org.betterx.betterend.blocks.EndBlockProperties.PedestalState; -import org.betterx.betterend.blocks.InfusionPedestal; -import org.betterx.betterend.blocks.entities.InfusionPedestalEntity; -import org.betterx.betterend.blocks.entities.PedestalBlockEntity; -import org.betterx.betterend.client.models.Patterns; -import org.betterx.betterend.rituals.InfusionRitual; import java.awt.*; import java.util.List; @@ -77,7 +78,7 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { .setValue(STATE, PedestalState.DEFAULT) .setValue(HAS_ITEM, false) .setValue(HAS_LIGHT, false) - ); + ); this.parent = parent; } @@ -98,12 +99,14 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { @Override @SuppressWarnings("deprecation") - public InteractionResult use(BlockState state, - Level level, - BlockPos pos, - Player player, - InteractionHand hand, - BlockHitResult hit) { + public InteractionResult use( + BlockState state, + Level level, + BlockPos pos, + Player player, + InteractionHand hand, + BlockHitResult hit + ) { if (!state.is(this) || !isPlaceable(state)) { return InteractionResult.PASS; } @@ -188,12 +191,14 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { @Override @SuppressWarnings("deprecation") - public BlockState updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + public BlockState updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { BlockState updated = getUpdatedState(state, direction, newState, world, pos, posFrom); if (!updated.is(this)) return updated; if (!isPlaceable(updated)) { @@ -202,12 +207,14 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { return updated; } - private BlockState getUpdatedState(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom) { + private BlockState getUpdatedState( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom + ) { if (!state.is(this)) return state.updateShape(direction, newState, world, pos, posFrom); if (direction != Direction.UP && direction != Direction.DOWN) return state; BlockState upState = world.getBlockState(pos.above()); @@ -411,9 +418,11 @@ public class PedestalBlock extends BaseBlockNotFull implements EntityBlock { @Override @Environment(EnvType.CLIENT) - public UnbakedModel getModelVariant(ResourceLocation stateId, - BlockState blockState, - Map modelCache) { + public UnbakedModel getModelVariant( + ResourceLocation stateId, + BlockState blockState, + Map modelCache + ) { PedestalState state = blockState.getValue(STATE); ResourceLocation modelId = new ResourceLocation( stateId.getNamespace(), diff --git a/src/main/java/org/betterx/betterend/blocks/basis/PottableCropBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/PottableCropBlock.java index 583f7595..5f114ec0 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/PottableCropBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/PottableCropBlock.java @@ -1,11 +1,11 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; - import org.betterx.bclib.blocks.BaseCropBlock; import org.betterx.betterend.interfaces.PottablePlant; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; + public class PottableCropBlock extends BaseCropBlock implements PottablePlant { private final Block[] terrain; diff --git a/src/main/java/org/betterx/betterend/blocks/basis/PottableFeatureSapling.java b/src/main/java/org/betterx/betterend/blocks/basis/PottableFeatureSapling.java index 75c68711..7d8c6f29 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/PottableFeatureSapling.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/PottableFeatureSapling.java @@ -1,12 +1,11 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.Feature; - import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; import org.betterx.bclib.blocks.FeatureSaplingBlock; import org.betterx.betterend.interfaces.PottablePlant; +import net.minecraft.world.level.block.state.BlockState; + import java.util.function.Function; public abstract class PottableFeatureSapling extends FeatureSaplingBlock implements PottablePlant { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/PottableLeavesBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/PottableLeavesBlock.java index 4bd9e782..805b518f 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/PottableLeavesBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/PottableLeavesBlock.java @@ -1,11 +1,11 @@ package org.betterx.betterend.blocks.basis; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.material.MaterialColor; - import org.betterx.bclib.blocks.BaseLeavesBlock; import org.betterx.betterend.interfaces.PottablePlant; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.material.MaterialColor; + public class PottableLeavesBlock extends BaseLeavesBlock implements PottablePlant { public PottableLeavesBlock(Block sapling, MaterialColor color) { diff --git a/src/main/java/org/betterx/betterend/blocks/basis/StoneLanternBlock.java b/src/main/java/org/betterx/betterend/blocks/basis/StoneLanternBlock.java index 1140f3b5..0d7f6b20 100644 --- a/src/main/java/org/betterx/betterend/blocks/basis/StoneLanternBlock.java +++ b/src/main/java/org/betterx/betterend/blocks/basis/StoneLanternBlock.java @@ -1,5 +1,10 @@ package org.betterx.betterend.blocks.basis; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.betterend.client.models.Patterns; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; import net.minecraft.client.renderer.block.model.BlockModel; @@ -15,11 +20,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.betterend.client.models.Patterns; -import org.betterx.betterend.registry.EndBlocks; - import java.util.Optional; import org.jetbrains.annotations.Nullable; @@ -56,7 +56,7 @@ public class StoneLanternBlock extends EndLanternBlock implements CustomColorPro Patterns.BLOCK_STONE_LANTERN_FLOOR, blockName, blockName - ) + ) : Patterns.createJson(Patterns.BLOCK_STONE_LANTERN_CEIL, blockName, blockName); return ModelsHelper.fromPattern(pattern); } diff --git a/src/main/java/org/betterx/betterend/blocks/entities/BlockEntityHydrothermalVent.java b/src/main/java/org/betterx/betterend/blocks/entities/BlockEntityHydrothermalVent.java index 31421dc9..6bb0d532 100644 --- a/src/main/java/org/betterx/betterend/blocks/entities/BlockEntityHydrothermalVent.java +++ b/src/main/java/org/betterx/betterend/blocks/entities/BlockEntityHydrothermalVent.java @@ -1,5 +1,12 @@ package org.betterx.betterend.blocks.entities; +import org.betterx.betterend.blocks.HydrothermalVentBlock; +import org.betterx.betterend.interfaces.FallFlyingItem; +import org.betterx.betterend.registry.EndBlockEntities; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndParticles; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -13,13 +20,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import org.betterx.betterend.blocks.HydrothermalVentBlock; -import org.betterx.betterend.interfaces.FallFlyingItem; -import org.betterx.betterend.registry.EndBlockEntities; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndParticles; -import org.betterx.betterend.util.GlobalState; - import java.util.List; public class BlockEntityHydrothermalVent extends BlockEntity { @@ -29,10 +29,12 @@ public class BlockEntityHydrothermalVent extends BlockEntity { super(EndBlockEntities.HYDROTHERMAL_VENT, blockPos, blockState); } - public static void tick(Level level, - BlockPos worldPosition, - BlockState state, - T uncastedEntity) { + public static void tick( + Level level, + BlockPos worldPosition, + BlockState state, + T uncastedEntity + ) { if (level != null && uncastedEntity instanceof BlockEntityHydrothermalVent && state.is(EndBlocks.HYDROTHERMAL_VENT)) { BlockEntityHydrothermalVent blockEntity = (BlockEntityHydrothermalVent) uncastedEntity; if (level.isClientSide()) { @@ -44,10 +46,12 @@ public class BlockEntityHydrothermalVent extends BlockEntity { } } - private static void clientTick(Level level, - BlockPos worldPosition, - BlockState state, - BlockEntityHydrothermalVent blockEntity) { + private static void clientTick( + Level level, + BlockPos worldPosition, + BlockState state, + BlockEntityHydrothermalVent blockEntity + ) { boolean active = state.getValue(HydrothermalVentBlock.ACTIVATED); if (active && level.random.nextInt(20) == 0 && state.getValue(HydrothermalVentBlock.WATERLOGGED)) { double x = worldPosition.getX() + level.random.nextDouble(); @@ -57,10 +61,12 @@ public class BlockEntityHydrothermalVent extends BlockEntity { } } - private static void serverTick(Level level, - BlockPos worldPosition, - BlockState state, - BlockEntityHydrothermalVent blockEntity) { + private static void serverTick( + Level level, + BlockPos worldPosition, + BlockState state, + BlockEntityHydrothermalVent blockEntity + ) { final MutableBlockPos POS = GlobalState.stateForThread().POS; boolean active = state.getValue(HydrothermalVentBlock.ACTIVATED); POS.set(worldPosition).move(Direction.UP); diff --git a/src/main/java/org/betterx/betterend/blocks/entities/EndStoneSmelterBlockEntity.java b/src/main/java/org/betterx/betterend/blocks/entities/EndStoneSmelterBlockEntity.java index 5bb22858..185a4fad 100644 --- a/src/main/java/org/betterx/betterend/blocks/entities/EndStoneSmelterBlockEntity.java +++ b/src/main/java/org/betterx/betterend/blocks/entities/EndStoneSmelterBlockEntity.java @@ -1,5 +1,11 @@ package org.betterx.betterend.blocks.entities; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.EndStoneSmelter; +import org.betterx.betterend.client.gui.EndStoneSmelterScreenHandler; +import org.betterx.betterend.recipe.builders.AlloyingRecipe; +import org.betterx.betterend.registry.EndBlockEntities; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; @@ -36,11 +42,6 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.EndStoneSmelter; -import org.betterx.betterend.client.gui.EndStoneSmelterScreenHandler; -import org.betterx.betterend.recipe.builders.AlloyingRecipe; -import org.betterx.betterend.registry.EndBlockEntities; import java.util.Iterator; import java.util.List; @@ -215,7 +216,7 @@ public class EndStoneSmelterBlockEntity extends BaseContainerBlockEntity impleme worldPosition.getX() + 0.5D, worldPosition.getY() + 0.5D, worldPosition.getZ() + 0.5D - ) <= 64.0D; + ) <= 64.0D; } @Override @@ -233,10 +234,12 @@ public class EndStoneSmelterBlockEntity extends BaseContainerBlockEntity impleme return new EndStoneSmelterScreenHandler(syncId, playerInventory, this, propertyDelegate); } - public static void tick(Level tickLevel, - BlockPos tickPos, - BlockState tickState, - EndStoneSmelterBlockEntity blockEntity) { + public static void tick( + Level tickLevel, + BlockPos tickPos, + BlockState tickState, + EndStoneSmelterBlockEntity blockEntity + ) { if (tickLevel == null) return; boolean initialBurning = blockEntity.isBurning(); @@ -275,7 +278,7 @@ public class EndStoneSmelterBlockEntity extends BaseContainerBlockEntity impleme blockEntity.inventory.set( 2, remainFuel == null ? ItemStack.EMPTY : new ItemStack(remainFuel) - ); + ); } } blockEntity.setChanged(); diff --git a/src/main/java/org/betterx/betterend/blocks/entities/EternalPedestalEntity.java b/src/main/java/org/betterx/betterend/blocks/entities/EternalPedestalEntity.java index 9f7d5aa0..9dd3bbc9 100644 --- a/src/main/java/org/betterx/betterend/blocks/entities/EternalPedestalEntity.java +++ b/src/main/java/org/betterx/betterend/blocks/entities/EternalPedestalEntity.java @@ -1,13 +1,13 @@ package org.betterx.betterend.blocks.entities; +import org.betterx.betterend.registry.EndBlockEntities; +import org.betterx.betterend.rituals.EternalRitual; + import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.registry.EndBlockEntities; -import org.betterx.betterend.rituals.EternalRitual; - public class EternalPedestalEntity extends PedestalBlockEntity { private EternalRitual linkedRitual; diff --git a/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java b/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java index 8a77bf9b..a65f3592 100644 --- a/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java +++ b/src/main/java/org/betterx/betterend/blocks/entities/InfusionPedestalEntity.java @@ -1,14 +1,14 @@ package org.betterx.betterend.blocks.entities; +import org.betterx.betterend.registry.EndBlockEntities; +import org.betterx.betterend.rituals.InfusionRitual; + import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.registry.EndBlockEntities; -import org.betterx.betterend.rituals.InfusionRitual; - public class InfusionPedestalEntity extends PedestalBlockEntity { private InfusionRitual linkedRitual; @@ -56,10 +56,12 @@ public class InfusionPedestalEntity extends PedestalBlockEntity { } } - public static void tickEnity(Level level, - BlockPos blockPos, - BlockState blockState, - T uncastedEntity) { + public static void tickEnity( + Level level, + BlockPos blockPos, + BlockState blockState, + T uncastedEntity + ) { if (uncastedEntity instanceof InfusionPedestalEntity) { InfusionPedestalEntity blockEntity = (InfusionPedestalEntity) uncastedEntity; if (blockEntity.hasRitual()) { diff --git a/src/main/java/org/betterx/betterend/blocks/entities/PedestalBlockEntity.java b/src/main/java/org/betterx/betterend/blocks/entities/PedestalBlockEntity.java index 33a17bff..a9b9d0cc 100644 --- a/src/main/java/org/betterx/betterend/blocks/entities/PedestalBlockEntity.java +++ b/src/main/java/org/betterx/betterend/blocks/entities/PedestalBlockEntity.java @@ -1,5 +1,9 @@ package org.betterx.betterend.blocks.entities; +import org.betterx.betterend.blocks.basis.PedestalBlock; +import org.betterx.betterend.registry.EndBlockEntities; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; @@ -10,10 +14,6 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.betterend.blocks.basis.PedestalBlock; -import org.betterx.betterend.registry.EndBlockEntities; -import org.betterx.betterend.registry.EndItems; - public class PedestalBlockEntity extends BlockEntity implements Container { private ItemStack activeItem = ItemStack.EMPTY; diff --git a/src/main/java/org/betterx/betterend/client/BetterEndClient.java b/src/main/java/org/betterx/betterend/client/BetterEndClient.java index 2255cbf9..cccd4b26 100644 --- a/src/main/java/org/betterx/betterend/client/BetterEndClient.java +++ b/src/main/java/org/betterx/betterend/client/BetterEndClient.java @@ -1,5 +1,15 @@ package org.betterx.betterend.client; +import org.betterx.bclib.BCLib; +import org.betterx.bclib.util.TranslationHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.client.render.BetterEndSkyRenderer; +import org.betterx.betterend.events.ItemTooltipCallback; +import org.betterx.betterend.interfaces.MultiModelItem; +import org.betterx.betterend.item.CrystaliteArmor; +import org.betterx.betterend.registry.*; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; @@ -11,16 +21,6 @@ import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry; import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry; -import org.betterx.bclib.BCLib; -import org.betterx.bclib.util.TranslationHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.client.render.BetterEndSkyRenderer; -import org.betterx.betterend.events.ItemTooltipCallback; -import org.betterx.betterend.interfaces.MultiModelItem; -import org.betterx.betterend.item.CrystaliteArmor; -import org.betterx.betterend.registry.*; -import org.betterx.betterend.world.generator.GeneratorOptions; - public class BetterEndClient implements ClientModInitializer { @Override public void onInitializeClient() { @@ -70,7 +70,7 @@ public class BetterEndClient implements ClientModInitializer { setDesc.setStyle(Style.EMPTY.applyFormats( hasSet ? ChatFormatting.BLUE : ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC - )); + )); lines.add(Component.empty()); lines.add(setDesc); } diff --git a/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java b/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java index 74a0a138..feb0905f 100644 --- a/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java +++ b/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterRecipeBookScreen.java @@ -1,5 +1,7 @@ package org.betterx.betterend.client.gui; +import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; + import net.minecraft.client.gui.screens.recipebook.BlastingRecipeBookComponent; import net.minecraft.core.NonNullList; import net.minecraft.world.inventory.Slot; @@ -11,8 +13,6 @@ import net.minecraft.world.item.crafting.Recipe; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; - import java.util.Iterator; import java.util.List; import java.util.Set; diff --git a/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterScreen.java b/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterScreen.java index 67b160b0..57a58f8d 100644 --- a/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterScreen.java +++ b/src/main/java/org/betterx/betterend/client/gui/EndStoneSmelterScreen.java @@ -1,5 +1,9 @@ package org.betterx.betterend.client.gui; +import org.betterx.betterend.BetterEnd; + +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.components.ImageButton; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent; @@ -13,10 +17,6 @@ import net.minecraft.world.inventory.Slot; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; -import org.betterx.betterend.BetterEnd; - @Environment(EnvType.CLIENT) public class EndStoneSmelterScreen extends AbstractContainerScreen implements RecipeUpdateListener { @@ -107,7 +107,7 @@ public class EndStoneSmelterScreen extends AbstractContainerScreen { @@ -28,7 +29,7 @@ public class EndStoneSmelterScreenHandler extends RecipeBookMenu { public final static MenuType HANDLER_TYPE = ScreenHandlerRegistry.registerSimple( BetterEnd.makeID(EndStoneSmelter.ID), EndStoneSmelterScreenHandler::new - ); + ); private final Container inventory; private final ContainerData propertyDelegate; @@ -38,10 +39,12 @@ public class EndStoneSmelterScreenHandler extends RecipeBookMenu { this(syncId, playerInventory, new SimpleContainer(4), new SimpleContainerData(4)); } - public EndStoneSmelterScreenHandler(int syncId, - Inventory playerInventory, - Container inventory, - ContainerData propertyDelegate) { + public EndStoneSmelterScreenHandler( + int syncId, + Inventory playerInventory, + Container inventory, + ContainerData propertyDelegate + ) { super(HANDLER_TYPE, syncId); this.inventory = inventory; this.propertyDelegate = propertyDelegate; diff --git a/src/main/java/org/betterx/betterend/client/gui/slot/SmelterFuelSlot.java b/src/main/java/org/betterx/betterend/client/gui/slot/SmelterFuelSlot.java index 448c6d31..60f8574b 100644 --- a/src/main/java/org/betterx/betterend/client/gui/slot/SmelterFuelSlot.java +++ b/src/main/java/org/betterx/betterend/client/gui/slot/SmelterFuelSlot.java @@ -1,12 +1,12 @@ package org.betterx.betterend.client.gui.slot; +import org.betterx.betterend.client.gui.EndStoneSmelterScreenHandler; + import net.minecraft.world.Container; import net.minecraft.world.inventory.FurnaceFuelSlot; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; -import org.betterx.betterend.client.gui.EndStoneSmelterScreenHandler; - public class SmelterFuelSlot extends Slot { private final EndStoneSmelterScreenHandler handler; diff --git a/src/main/java/org/betterx/betterend/client/gui/slot/SmelterOutputSlot.java b/src/main/java/org/betterx/betterend/client/gui/slot/SmelterOutputSlot.java index 95036b03..d8858d57 100644 --- a/src/main/java/org/betterx/betterend/client/gui/slot/SmelterOutputSlot.java +++ b/src/main/java/org/betterx/betterend/client/gui/slot/SmelterOutputSlot.java @@ -1,12 +1,12 @@ package org.betterx.betterend.client.gui.slot; +import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; + import net.minecraft.world.Container; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; -import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; - public class SmelterOutputSlot extends Slot { private final Player player; diff --git a/src/main/java/org/betterx/betterend/client/models/Patterns.java b/src/main/java/org/betterx/betterend/client/models/Patterns.java index 85b80946..0a46225f 100644 --- a/src/main/java/org/betterx/betterend/client/models/Patterns.java +++ b/src/main/java/org/betterx/betterend/client/models/Patterns.java @@ -1,11 +1,12 @@ package org.betterx.betterend.client.models; +import org.betterx.betterend.BetterEnd; + import net.minecraft.client.Minecraft; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.ResourceManager; import com.google.common.collect.Maps; -import org.betterx.betterend.BetterEnd; import java.io.BufferedReader; import java.io.InputStream; diff --git a/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java b/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java index 9aeca007..55f57639 100644 --- a/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java +++ b/src/main/java/org/betterx/betterend/client/render/ArmoredElytraLayer.java @@ -1,5 +1,11 @@ package org.betterx.betterend.client.render; +import org.betterx.betterend.interfaces.FallFlyingItem; +import org.betterx.betterend.item.model.ArmoredElytraModel; +import org.betterx.betterend.registry.EndEntitiesRenders; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.player.AbstractClientPlayer; @@ -15,12 +21,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.PlayerModelPart; import net.minecraft.world.item.ItemStack; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.interfaces.FallFlyingItem; -import org.betterx.betterend.item.model.ArmoredElytraModel; -import org.betterx.betterend.registry.EndEntitiesRenders; - public class ArmoredElytraLayer> extends ElytraLayer { private final ArmoredElytraModel elytraModel; @@ -29,16 +29,18 @@ public class ArmoredElytraLayer elytraModel = new ArmoredElytraModel<>(entityModelSet.bakeLayer(EndEntitiesRenders.ARMORED_ELYTRA)); } - public void render(PoseStack poseStack, - MultiBufferSource multiBufferSource, - int i, - T livingEntity, - float f, - float g, - float h, - float j, - float k, - float l) { + public void render( + PoseStack poseStack, + MultiBufferSource multiBufferSource, + int i, + T livingEntity, + float f, + float g, + float h, + float j, + float k, + float l + ) { ItemStack itemStack = livingEntity.getItemBySlot(EquipmentSlot.CHEST); if (itemStack.getItem() instanceof FallFlyingItem) { ResourceLocation wingsTexture = ((FallFlyingItem) itemStack.getItem()).getModelTexture(); @@ -61,7 +63,7 @@ public class ArmoredElytraLayer RenderType.armorCutoutNoCull(wingsTexture), false, itemStack.hasFoil() - ); + ); elytraModel.renderToBuffer(poseStack, vertexConsumer, i, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); poseStack.popPose(); } diff --git a/src/main/java/org/betterx/betterend/client/render/BeamRenderer.java b/src/main/java/org/betterx/betterend/client/render/BeamRenderer.java index 97c0d344..13b92566 100644 --- a/src/main/java/org/betterx/betterend/client/render/BeamRenderer.java +++ b/src/main/java/org/betterx/betterend/client/render/BeamRenderer.java @@ -1,30 +1,31 @@ package org.betterx.betterend.client.render; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; - import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Matrix3f; import com.mojang.math.Matrix4f; import com.mojang.math.Vector3f; +import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; public class BeamRenderer { private static final ResourceLocation BEAM_TEXTURE = new ResourceLocation("textures/entity/end_gateway_beam.png"); - public static void renderLightBeam(PoseStack matrices, - MultiBufferSource vertexConsumers, - int age, - float tick, - int minY, - int maxY, - float[] colors, - float alpha, - float beamIn, - float beamOut) { + public static void renderLightBeam( + PoseStack matrices, + MultiBufferSource vertexConsumers, + int age, + float tick, + int minY, + int maxY, + float[] colors, + float alpha, + float beamIn, + float beamOut + ) { float red = colors[0]; float green = colors[1]; float blue = colors[2]; @@ -62,7 +63,7 @@ public class BeamRenderer { 1.0F, minV, maxV - ); + ); float xOut = -beamOut; maxV = (float) maxY + minV; @@ -87,30 +88,32 @@ public class BeamRenderer { 1.0F, minV, maxV - ); + ); matrices.popPose(); } - private static void renderBeam(PoseStack matrices, - VertexConsumer vertexConsumer, - float red, - float green, - float blue, - float alpha, - int minY, - int maxY, - float x1, - float d1, - float x2, - float d2, - float x3, - float d3, - float x4, - float d4, - float minU, - float maxU, - float minV, - float maxV) { + private static void renderBeam( + PoseStack matrices, + VertexConsumer vertexConsumer, + float red, + float green, + float blue, + float alpha, + int minY, + int maxY, + float x1, + float d1, + float x2, + float d2, + float x3, + float d3, + float x4, + float d4, + float minU, + float maxU, + float minV, + float maxV + ) { PoseStack.Pose entry = matrices.last(); Matrix4f matrix4f = entry.pose(); Matrix3f matrix3f = entry.normal(); @@ -132,7 +135,7 @@ public class BeamRenderer { maxU, minV, maxV - ); + ); renderBeam( matrix4f, matrix3f, @@ -151,7 +154,7 @@ public class BeamRenderer { maxU, minV, maxV - ); + ); renderBeam( matrix4f, matrix3f, @@ -170,7 +173,7 @@ public class BeamRenderer { maxU, minV, maxV - ); + ); renderBeam( matrix4f, matrix3f, @@ -189,44 +192,48 @@ public class BeamRenderer { maxU, minV, maxV - ); + ); } - private static void renderBeam(Matrix4f matrix4f, - Matrix3f matrix3f, - VertexConsumer vertexConsumer, - float red, - float green, - float blue, - float alpha, - int minY, - int maxY, - float minX, - float minD, - float maxX, - float maxD, - float minU, - float maxU, - float minV, - float maxV) { + private static void renderBeam( + Matrix4f matrix4f, + Matrix3f matrix3f, + VertexConsumer vertexConsumer, + float red, + float green, + float blue, + float alpha, + int minY, + int maxY, + float minX, + float minD, + float maxX, + float maxD, + float minU, + float maxU, + float minV, + float maxV + ) { addVertex(matrix4f, matrix3f, vertexConsumer, red, green, blue, alpha, maxX, minY, maxD, maxU, minV); addVertex(matrix4f, matrix3f, vertexConsumer, red, green, blue, alpha, maxX, maxY, maxD, maxU, maxV); addVertex(matrix4f, matrix3f, vertexConsumer, red, green, blue, alpha, minX, maxY, minD, minU, maxV); addVertex(matrix4f, matrix3f, vertexConsumer, red, green, blue, alpha, minX, minY, minD, minU, minV); } - private static void addVertex(Matrix4f matrix4f, - Matrix3f matrix3f, - VertexConsumer vertexConsumer, - float red, - float green, - float blue, - float alpha, - float x, - float y, - float d, - float u, - float v) { + private static void addVertex( + Matrix4f matrix4f, + Matrix3f matrix3f, + VertexConsumer vertexConsumer, + float red, + float green, + float blue, + float alpha, + float x, + float y, + float d, + float u, + float v + ) { vertexConsumer.vertex(matrix4f, x, y, d) .color(red, green, blue, alpha) .uv(u, v) diff --git a/src/main/java/org/betterx/betterend/client/render/BetterEndSkyRenderer.java b/src/main/java/org/betterx/betterend/client/render/BetterEndSkyRenderer.java index fa3509eb..eb2b85fa 100644 --- a/src/main/java/org/betterx/betterend/client/render/BetterEndSkyRenderer.java +++ b/src/main/java/org/betterx/betterend/client/render/BetterEndSkyRenderer.java @@ -1,5 +1,15 @@ package org.betterx.betterend.client.render; +import org.betterx.bclib.util.BackgroundInfo; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.BetterEnd; + +import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.*; +import com.mojang.math.Matrix4f; +import com.mojang.math.Quaternion; +import com.mojang.math.Vector3f; import net.minecraft.client.renderer.FogRenderer; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.resources.ResourceLocation; @@ -9,16 +19,6 @@ import net.minecraft.world.level.levelgen.LegacyRandomSource; import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; -import com.mojang.blaze3d.platform.GlStateManager; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.*; -import com.mojang.math.Matrix4f; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; -import org.betterx.bclib.util.BackgroundInfo; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.BetterEnd; - public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRenderer { @FunctionalInterface interface BufferFunction { @@ -92,54 +92,62 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende matrices.pushPose(); matrices.mulPose(new Quaternion(0, time, 0, false)); RenderSystem.setShaderTexture(0, HORIZON); - renderBuffer(matrices, - projectionMatrix, - horizon, - DefaultVertexFormat.POSITION_TEX, - 0.77F, - 0.31F, - 0.73F, - 0.7F * blindA); + renderBuffer( + matrices, + projectionMatrix, + horizon, + DefaultVertexFormat.POSITION_TEX, + 0.77F, + 0.31F, + 0.73F, + 0.7F * blindA + ); matrices.popPose(); matrices.pushPose(); matrices.mulPose(new Quaternion(0, -time, 0, false)); RenderSystem.setShaderTexture(0, NEBULA_1); - renderBuffer(matrices, - projectionMatrix, - nebula1, - DefaultVertexFormat.POSITION_TEX, - 0.77F, - 0.31F, - 0.73F, - blind02); + renderBuffer( + matrices, + projectionMatrix, + nebula1, + DefaultVertexFormat.POSITION_TEX, + 0.77F, + 0.31F, + 0.73F, + blind02 + ); matrices.popPose(); matrices.pushPose(); matrices.mulPose(new Quaternion(0, time2, 0, false)); RenderSystem.setShaderTexture(0, NEBULA_2); - renderBuffer(matrices, - projectionMatrix, - nebula2, - DefaultVertexFormat.POSITION_TEX, - 0.77F, - 0.31F, - 0.73F, - blind02); + renderBuffer( + matrices, + projectionMatrix, + nebula2, + DefaultVertexFormat.POSITION_TEX, + 0.77F, + 0.31F, + 0.73F, + blind02 + ); matrices.popPose(); RenderSystem.setShaderTexture(0, STARS); matrices.pushPose(); matrices.mulPose(axis3.rotation(time)); - renderBuffer(matrices, - projectionMatrix, - stars3, - DefaultVertexFormat.POSITION_TEX, - 0.77F, - 0.31F, - 0.73F, - blind06); + renderBuffer( + matrices, + projectionMatrix, + stars3, + DefaultVertexFormat.POSITION_TEX, + 0.77F, + 0.31F, + 0.73F, + blind06 + ); matrices.popPose(); matrices.pushPose(); @@ -160,7 +168,8 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende BackgroundInfo.fogColorRed, BackgroundInfo.fogColorGreen, BackgroundInfo.fogColorBlue, - a); + a + ); } RenderSystem.disableTexture(); @@ -173,14 +182,16 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende matrices.pushPose(); matrices.mulPose(axis2.rotation(time2)); - renderBuffer(matrices, - projectionMatrix, - stars2, - DefaultVertexFormat.POSITION, - 0.95F, - 0.64F, - 0.93F, - blind06); + renderBuffer( + matrices, + projectionMatrix, + stars2, + DefaultVertexFormat.POSITION, + 0.95F, + 0.64F, + 0.93F, + blind06 + ); matrices.popPose(); } @@ -190,14 +201,16 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende RenderSystem.disableBlend(); } - private void renderBuffer(PoseStack matrices, - Matrix4f matrix4f, - VertexBuffer buffer, - VertexFormat format, - float r, - float g, - float b, - float a) { + private void renderBuffer( + PoseStack matrices, + Matrix4f matrix4f, + VertexBuffer buffer, + VertexFormat format, + float r, + float g, + float b, + float a + ) { RenderSystem.setShaderColor(r, g, b, a); buffer.bind(); if (format == DefaultVertexFormat.POSITION) { @@ -220,13 +233,15 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende fog = buildBufferFog(buffer, fog); } - private VertexBuffer buildBuffer(BufferBuilder bufferBuilder, - VertexBuffer buffer, - double minSize, - double maxSize, - int count, - long seed, - BufferFunction fkt) { + private VertexBuffer buildBuffer( + BufferBuilder bufferBuilder, + VertexBuffer buffer, + double minSize, + double maxSize, + int count, + long seed, + BufferFunction fkt + ) { if (buffer != null) { buffer.close(); } @@ -244,14 +259,16 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende private VertexBuffer buildBufferHorizon(BufferBuilder bufferBuilder, VertexBuffer buffer) { return buildBuffer( bufferBuilder, buffer, 0, 0, 0, 0, - (_builder, _minSize, _maxSize, _count, _seed) -> makeCylinder(_builder, 16, 50, 100)); + (_builder, _minSize, _maxSize, _count, _seed) -> makeCylinder(_builder, 16, 50, 100) + ); } private VertexBuffer buildBufferFog(BufferBuilder bufferBuilder, VertexBuffer buffer) { return buildBuffer( bufferBuilder, buffer, 0, 0, 0, 0, - (_builder, _minSize, _maxSize, _count, _seed) -> makeCylinder(_builder, 16, 50, 70)); + (_builder, _minSize, _maxSize, _count, _seed) -> makeCylinder(_builder, 16, 50, 70) + ); } private void makeStars(BufferBuilder buffer, double minSize, double maxSize, int count, long seed) { diff --git a/src/main/java/org/betterx/betterend/client/render/EndCrystalRenderer.java b/src/main/java/org/betterx/betterend/client/render/EndCrystalRenderer.java index a38b5e1d..0e79848f 100644 --- a/src/main/java/org/betterx/betterend/client/render/EndCrystalRenderer.java +++ b/src/main/java/org/betterx/betterend/client/render/EndCrystalRenderer.java @@ -1,5 +1,9 @@ package org.betterx.betterend.client.render; +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Quaternion; +import com.mojang.math.Vector3f; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -11,11 +15,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; - public class EndCrystalRenderer { private static final ResourceLocation CRYSTAL_TEXTURE = new ResourceLocation( "textures/entity/end_crystal/end_crystal.png"); @@ -27,12 +26,14 @@ public class EndCrystalRenderer { private static final int AGE_CYCLE = 240; private static final float SINE_45_DEGREES; - public static void render(int age, - int maxAge, - float tickDelta, - PoseStack matrices, - MultiBufferSource vertexConsumerProvider, - int light) { + public static void render( + int age, + int maxAge, + float tickDelta, + PoseStack matrices, + MultiBufferSource vertexConsumerProvider, + int light + ) { float k = (float) AGE_CYCLE / maxAge; float rotation = (age * k + tickDelta) * 3.0F; VertexConsumer vertexConsumer = vertexConsumerProvider.getBuffer(END_CRYSTAL); @@ -61,13 +62,13 @@ public class EndCrystalRenderer { "FRAME", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0f, -4.0f, -4.0f, 8.0f, 8.0f, 8.0f), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( "CORE", CubeListBuilder.create().texOffs(32, 0).addBox(-4.0f, -4.0f, -4.0f, 8.0f, 8.0f, 8.0f), PartPose.ZERO - ); + ); return LayerDefinition.create(modelData, 64, 32); } diff --git a/src/main/java/org/betterx/betterend/client/render/EternalCrystalRenderer.java b/src/main/java/org/betterx/betterend/client/render/EternalCrystalRenderer.java index 6d6e3a14..01ebf0ed 100644 --- a/src/main/java/org/betterx/betterend/client/render/EternalCrystalRenderer.java +++ b/src/main/java/org/betterx/betterend/client/render/EternalCrystalRenderer.java @@ -1,5 +1,13 @@ package org.betterx.betterend.client.render; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.AuroraCrystalBlock; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; +import com.mojang.math.Vector3f; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; import net.minecraft.client.model.geom.builders.CubeListBuilder; @@ -12,25 +20,19 @@ import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.core.Vec3i; import net.minecraft.util.Mth; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.AuroraCrystalBlock; - // TODO make crystals bright public class EternalCrystalRenderer { private static final RenderType RENDER_LAYER; private static final ModelPart[] SHARDS; private static final ModelPart CORE; - public static void render(int age, - float tickDelta, - PoseStack matrices, - MultiBufferSource vertexConsumerProvider, - int light) { + public static void render( + int age, + float tickDelta, + PoseStack matrices, + MultiBufferSource vertexConsumerProvider, + int light + ) { VertexConsumer vertexConsumer = vertexConsumerProvider.getBuffer(RENDER_LAYER); float[] colors = colors(age); float rotation = (age + tickDelta) / 25.0F + 6.0F; @@ -46,7 +48,7 @@ public class EternalCrystalRenderer { colors[1], colors[2], colors[3] - ); + ); for (int i = 0; i < 4; i++) { matrices.pushPose(); @@ -61,7 +63,7 @@ public class EternalCrystalRenderer { colors[1], colors[2], colors[3] - ); + ); matrices.popPose(); } @@ -92,31 +94,31 @@ public class EternalCrystalRenderer { "SHARDS_0", CubeListBuilder.create().texOffs(2, 4).addBox(-5.0f, 1.0f, -3.0f, 2.0f, 8.0f, 2.0f), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( "SHARDS_1", CubeListBuilder.create().texOffs(2, 4).addBox(3.0f, -1.0f, -1.0f, 2.0f, 8.0f, 2.0f), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( "SHARDS_2", CubeListBuilder.create().texOffs(2, 4).addBox(-1.0f, 0.0f, -5.0f, 2.0f, 4.0f, 2.0f), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( "SHARDS_3", CubeListBuilder.create().texOffs(2, 4).addBox(0.0f, 3.0f, 4.0f, 2.0f, 6.0f, 2.0f), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( "CORE", CubeListBuilder.create().texOffs(0, 0).addBox(-2.0f, -2.0f, -2.0f, 4.0f, 12.0f, 4.0f), PartPose.ZERO - ); + ); return LayerDefinition.create(modelData, 16, 16); } diff --git a/src/main/java/org/betterx/betterend/client/render/PedestalItemRenderer.java b/src/main/java/org/betterx/betterend/client/render/PedestalItemRenderer.java index 190b1fc1..e247acda 100644 --- a/src/main/java/org/betterx/betterend/client/render/PedestalItemRenderer.java +++ b/src/main/java/org/betterx/betterend/client/render/PedestalItemRenderer.java @@ -1,5 +1,13 @@ package org.betterx.betterend.client.render; +import org.betterx.betterend.blocks.EternalPedestal; +import org.betterx.betterend.blocks.basis.PedestalBlock; +import org.betterx.betterend.blocks.entities.PedestalBlockEntity; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.math.Vector3f; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.model.ItemTransforms; @@ -16,14 +24,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; -import org.betterx.betterend.blocks.EternalPedestal; -import org.betterx.betterend.blocks.basis.PedestalBlock; -import org.betterx.betterend.blocks.entities.PedestalBlockEntity; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - @Environment(EnvType.CLIENT) public class PedestalItemRenderer implements BlockEntityRenderer { public PedestalItemRenderer(BlockEntityRendererProvider.Context ctx) { @@ -31,12 +31,14 @@ public class PedestalItemRenderer implements Bloc } @Override - public void render(T blockEntity, - float tickDelta, - PoseStack matrices, - MultiBufferSource vertexConsumers, - int light, - int overlay) { + public void render( + T blockEntity, + float tickDelta, + PoseStack matrices, + MultiBufferSource vertexConsumers, + int light, + int overlay + ) { Level world = blockEntity.getLevel(); if (world == null || blockEntity.isEmpty()) return; @@ -61,16 +63,18 @@ public class PedestalItemRenderer implements Bloc float[] colors = EternalCrystalRenderer.colors(age); int y = blockEntity.getBlockPos().getY(); - BeamRenderer.renderLightBeam(matrices, - vertexConsumers, - age, - tickDelta, - -y, - 1024 - y, - colors, - 0.25F, - 0.13F, - 0.16F); + BeamRenderer.renderLightBeam( + matrices, + vertexConsumers, + age, + tickDelta, + -y, + 1024 - y, + colors, + 0.25F, + 0.13F, + 0.16F + ); float altitude = Mth.sin((age + tickDelta) / 10.0F) * 0.1F + 0.1F; matrices.translate(0.0D, altitude, 0.0D); } @@ -82,14 +86,16 @@ public class PedestalItemRenderer implements Bloc float rotation = (age + tickDelta) / 25.0F + 6.0F; matrices.mulPose(Vector3f.YP.rotation(rotation)); minecraft.getItemRenderer() - .render(activeItem, + .render( + activeItem, ItemTransforms.TransformType.GROUND, false, matrices, vertexConsumers, light, overlay, - model); + model + ); } matrices.popPose(); } diff --git a/src/main/java/org/betterx/betterend/commands/CommandRegistry.java b/src/main/java/org/betterx/betterend/commands/CommandRegistry.java index df0e9520..4626bd80 100644 --- a/src/main/java/org/betterx/betterend/commands/CommandRegistry.java +++ b/src/main/java/org/betterx/betterend/commands/CommandRegistry.java @@ -1,5 +1,13 @@ package org.betterx.betterend.commands; +import org.betterx.bclib.api.v2.poi.BCLPoiType; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndPoiTypes; + +import com.mojang.brigadier.Command; +import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.context.CommandContext; +import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.commands.CommandBuildContext; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; @@ -15,14 +23,6 @@ import net.minecraft.world.phys.Vec3; import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; -import com.mojang.brigadier.Command; -import com.mojang.brigadier.CommandDispatcher; -import com.mojang.brigadier.context.CommandContext; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import org.betterx.bclib.api.v2.poi.BCLPoiType; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndPoiTypes; - import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -32,21 +32,23 @@ public class CommandRegistry { CommandRegistrationCallback.EVENT.register(CommandRegistry::register); } - private static void register(CommandDispatcher dispatcher, - CommandBuildContext commandBuildContext, - Commands.CommandSelection commandSelection) { + private static void register( + CommandDispatcher dispatcher, + CommandBuildContext commandBuildContext, + Commands.CommandSelection commandSelection + ) { dispatcher.register( Commands.literal("be") .requires(source -> source.hasPermission(Commands.LEVEL_OWNERS)) .then(Commands.literal("locate_portal") .requires(source -> source.hasPermission(Commands.LEVEL_OWNERS)) .executes(ctx -> find_poi(ctx, EndPoiTypes.ETERNAL_PORTAL_INACTIVE)) - ) - ); + ) + ); } private static final Map, BlockState> biomeMap = new HashMap<>(); - private static int biomeMapIdx = 0; + private static final int biomeMapIdx = 0; private static final BlockState[] states = { Blocks.RED_STAINED_GLASS.defaultBlockState(), Blocks.BLUE_STAINED_GLASS.defaultBlockState(), diff --git a/src/main/java/org/betterx/betterend/complexmaterials/ColoredMaterial.java b/src/main/java/org/betterx/betterend/complexmaterials/ColoredMaterial.java index 7d880856..f1b643c9 100644 --- a/src/main/java/org/betterx/betterend/complexmaterials/ColoredMaterial.java +++ b/src/main/java/org/betterx/betterend/complexmaterials/ColoredMaterial.java @@ -1,5 +1,11 @@ package org.betterx.betterend.complexmaterials; +import org.betterx.bclib.recipes.GridRecipe; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.Registry; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.DyeItem; @@ -10,11 +16,6 @@ import net.minecraft.world.level.material.MaterialColor; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import com.google.common.collect.Maps; -import org.betterx.bclib.recipes.GridRecipe; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.registry.EndBlocks; import java.util.Map; import java.util.function.Function; @@ -28,11 +29,13 @@ public class ColoredMaterial { this(constructor, source, COLORS, DYES, craftEight); } - public ColoredMaterial(Function constructor, - Block source, - Map colors, - Map dyes, - boolean craftEight) { + public ColoredMaterial( + Function constructor, + Block source, + Map colors, + Map dyes, + boolean craftEight + ) { String id = Registry.BLOCK.getKey(source).getPath(); colors.forEach((color, name) -> { String blockName = id + "_" + name; diff --git a/src/main/java/org/betterx/betterend/complexmaterials/CrystalSubblocksMaterial.java b/src/main/java/org/betterx/betterend/complexmaterials/CrystalSubblocksMaterial.java index 2cc15754..12f17567 100644 --- a/src/main/java/org/betterx/betterend/complexmaterials/CrystalSubblocksMaterial.java +++ b/src/main/java/org/betterx/betterend/complexmaterials/CrystalSubblocksMaterial.java @@ -1,9 +1,5 @@ package org.betterx.betterend.complexmaterials; -import net.minecraft.world.level.block.Block; - -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import org.betterx.bclib.api.v2.tag.NamedBlockTags; import org.betterx.bclib.api.v2.tag.NamedItemTags; import org.betterx.bclib.api.v2.tag.TagAPI; @@ -19,6 +15,10 @@ import org.betterx.betterend.config.Configs; import org.betterx.betterend.recipe.CraftingRecipes; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.world.level.block.Block; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + public class CrystalSubblocksMaterial { public final Block polished; public final Block tiles; diff --git a/src/main/java/org/betterx/betterend/complexmaterials/EndWoodenComplexMaterial.java b/src/main/java/org/betterx/betterend/complexmaterials/EndWoodenComplexMaterial.java index a73e5416..beae71f7 100644 --- a/src/main/java/org/betterx/betterend/complexmaterials/EndWoodenComplexMaterial.java +++ b/src/main/java/org/betterx/betterend/complexmaterials/EndWoodenComplexMaterial.java @@ -1,15 +1,15 @@ package org.betterx.betterend.complexmaterials; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.MaterialColor; - import org.betterx.bclib.complexmaterials.WoodenComplexMaterial; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.config.Configs; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndItems; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.MaterialColor; + public class EndWoodenComplexMaterial extends WoodenComplexMaterial { private Block bark; private Block log; @@ -19,9 +19,11 @@ public class EndWoodenComplexMaterial extends WoodenComplexMaterial { } public EndWoodenComplexMaterial init() { - return (EndWoodenComplexMaterial) super.init(EndBlocks.getBlockRegistry(), - EndItems.getItemRegistry(), - Configs.RECIPE_CONFIG); + return (EndWoodenComplexMaterial) super.init( + EndBlocks.getBlockRegistry(), + EndItems.getItemRegistry(), + Configs.RECIPE_CONFIG + ); } public boolean isTreeLog(Block block) { diff --git a/src/main/java/org/betterx/betterend/complexmaterials/MetalMaterial.java b/src/main/java/org/betterx/betterend/complexmaterials/MetalMaterial.java index 1973adc8..dd095eda 100644 --- a/src/main/java/org/betterx/betterend/complexmaterials/MetalMaterial.java +++ b/src/main/java/org/betterx/betterend/complexmaterials/MetalMaterial.java @@ -1,20 +1,5 @@ package org.betterx.betterend.complexmaterials; -import net.minecraft.tags.TagKey; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.item.ArmorMaterial; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Item.Properties; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.Tier; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.SoundType; -import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.material.MaterialColor; - -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.api.v2.tag.NamedBlockTags; import org.betterx.bclib.api.v2.tag.NamedItemTags; @@ -42,6 +27,21 @@ import org.betterx.betterend.recipe.builders.AlloyingRecipe; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndItems; +import net.minecraft.tags.TagKey; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Item.Properties; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.Tier; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.MaterialColor; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + public class MetalMaterial { public final Block ore; public final Block block; @@ -97,12 +97,14 @@ public class MetalMaterial { ); } - public static MetalMaterial makeNormal(String name, - MaterialColor color, - float hardness, - float resistance, - Tier material, - ArmorMaterial armor) { + public static MetalMaterial makeNormal( + String name, + MaterialColor color, + float hardness, + float resistance, + Tier material, + ArmorMaterial armor + ) { return new MetalMaterial( name, true, @@ -127,12 +129,14 @@ public class MetalMaterial { ); } - public static MetalMaterial makeOreless(String name, - MaterialColor color, - float hardness, - float resistance, - Tier material, - ArmorMaterial armor) { + public static MetalMaterial makeOreless( + String name, + MaterialColor color, + float hardness, + float resistance, + Tier material, + ArmorMaterial armor + ) { return new MetalMaterial( name, false, @@ -146,12 +150,14 @@ public class MetalMaterial { ); } - private MetalMaterial(String name, - boolean hasOre, - FabricBlockSettings settings, - Properties itemSettings, - Tier material, - ArmorMaterial armor) { + private MetalMaterial( + String name, + boolean hasOre, + FabricBlockSettings settings, + Properties itemSettings, + Tier material, + ArmorMaterial armor + ) { BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings) .hardness(1) .resistance(1) @@ -198,24 +204,24 @@ public class MetalMaterial { hammer = EndItems.registerEndTool( name + "_hammer", new EndHammerItem(material, 5.0F, -3.2F, 0.3D, itemSettings) - ); + ); forgedPlate = EndItems.registerEndItem(name + "_forged_plate"); helmet = EndItems.registerEndItem(name + "_helmet", new EndArmorItem(armor, EquipmentSlot.HEAD, itemSettings)); chestplate = EndItems.registerEndItem( name + "_chestplate", new EndArmorItem(armor, EquipmentSlot.CHEST, itemSettings) - ); + ); leggings = EndItems.registerEndItem( name + "_leggings", new EndArmorItem(armor, EquipmentSlot.LEGS, itemSettings) - ); + ); boots = EndItems.registerEndItem(name + "_boots", new EndArmorItem(armor, EquipmentSlot.FEET, itemSettings)); anvilBlock = EndBlocks.registerBlock( name + "_anvil", new EndAnvilBlock(this, block.defaultMaterialColor(), level) - ); + ); if (hasOre) { FurnaceRecipe.make(BetterEnd.MOD_ID, name + "_ingot_furnace_ore", ore, ingot) diff --git a/src/main/java/org/betterx/betterend/complexmaterials/StoneMaterial.java b/src/main/java/org/betterx/betterend/complexmaterials/StoneMaterial.java index 88e62b38..db8b112c 100644 --- a/src/main/java/org/betterx/betterend/complexmaterials/StoneMaterial.java +++ b/src/main/java/org/betterx/betterend/complexmaterials/StoneMaterial.java @@ -1,11 +1,5 @@ package org.betterx.betterend.complexmaterials; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.MaterialColor; - -import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; - import org.betterx.bclib.api.v2.tag.*; import org.betterx.bclib.blocks.*; import org.betterx.bclib.recipes.GridRecipe; @@ -18,6 +12,12 @@ import org.betterx.betterend.recipe.CraftingRecipes; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndItems; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.MaterialColor; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + public class StoneMaterial { public final Block stone; diff --git a/src/main/java/org/betterx/betterend/config/Configs.java b/src/main/java/org/betterx/betterend/config/Configs.java index 9a33a2db..d8fb7c11 100644 --- a/src/main/java/org/betterx/betterend/config/Configs.java +++ b/src/main/java/org/betterx/betterend/config/Configs.java @@ -1,14 +1,14 @@ package org.betterx.betterend.config; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - import org.betterx.bclib.BCLib; import org.betterx.bclib.config.EntryConfig; import org.betterx.bclib.config.IdConfig; import org.betterx.bclib.config.PathConfig; import org.betterx.betterend.BetterEnd; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + public class Configs { public static final PathConfig ENTITY_CONFIG = new PathConfig(BetterEnd.MOD_ID, "entities"); public static final PathConfig BLOCK_CONFIG = new PathConfig(BetterEnd.MOD_ID, "blocks"); diff --git a/src/main/java/org/betterx/betterend/effects/EndPotions.java b/src/main/java/org/betterx/betterend/effects/EndPotions.java index 8c672155..8b301875 100644 --- a/src/main/java/org/betterx/betterend/effects/EndPotions.java +++ b/src/main/java/org/betterx/betterend/effects/EndPotions.java @@ -1,5 +1,10 @@ package org.betterx.betterend.effects; +import org.betterx.bclib.mixin.common.PotionBrewingAccessor; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.Registry; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; @@ -7,11 +12,6 @@ import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.Potions; -import org.betterx.bclib.mixin.common.PotionBrewingAccessor; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - public class EndPotions { public final static Potion END_VEIL = registerPotion("end_veil", EndStatusEffects.END_VEIL, 3600); public final static Potion LONG_END_VEIL = registerPotion("long_end_veil", EndStatusEffects.END_VEIL, 9600); diff --git a/src/main/java/org/betterx/betterend/effects/EndStatusEffects.java b/src/main/java/org/betterx/betterend/effects/EndStatusEffects.java index 58439f90..1b46e23d 100644 --- a/src/main/java/org/betterx/betterend/effects/EndStatusEffects.java +++ b/src/main/java/org/betterx/betterend/effects/EndStatusEffects.java @@ -1,32 +1,38 @@ package org.betterx.betterend.effects; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.effects.status.EndVeilEffect; + import net.minecraft.core.Registry; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.effects.status.EndVeilEffect; - public class EndStatusEffects { - public final static MobEffectInstance CRYSTALITE_HEALTH_REGEN = new MobEffectInstance(MobEffects.REGENERATION, - 80, - 0, - true, - false, - true); - public final static MobEffectInstance CRYSTALITE_DIG_SPEED = new MobEffectInstance(MobEffects.DIG_SPEED, - 80, - 0, - true, - false, - true); - public final static MobEffectInstance CRYSTALITE_MOVE_SPEED = new MobEffectInstance(MobEffects.MOVEMENT_SPEED, - 80, - 0, - true, - false, - true); + public final static MobEffectInstance CRYSTALITE_HEALTH_REGEN = new MobEffectInstance( + MobEffects.REGENERATION, + 80, + 0, + true, + false, + true + ); + public final static MobEffectInstance CRYSTALITE_DIG_SPEED = new MobEffectInstance( + MobEffects.DIG_SPEED, + 80, + 0, + true, + false, + true + ); + public final static MobEffectInstance CRYSTALITE_MOVE_SPEED = new MobEffectInstance( + MobEffects.MOVEMENT_SPEED, + 80, + 0, + true, + false, + true + ); public final static MobEffect END_VEIL = registerEffect("end_veil", new EndVeilEffect()); diff --git a/src/main/java/org/betterx/betterend/entity/CubozoaEntity.java b/src/main/java/org/betterx/betterend/entity/CubozoaEntity.java index e94a03ec..ce847d15 100644 --- a/src/main/java/org/betterx/betterend/entity/CubozoaEntity.java +++ b/src/main/java/org/betterx/betterend/entity/CubozoaEntity.java @@ -1,5 +1,9 @@ package org.betterx.betterend.entity; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.game.ClientboundGameEventPacket; import net.minecraft.network.syncher.EntityDataAccessor; @@ -22,31 +26,29 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.registry.EndItems; - public class CubozoaEntity extends AbstractSchoolingFish { public static final int VARIANTS = 2; private static final EntityDataAccessor VARIANT = SynchedEntityData.defineId( CubozoaEntity.class, EntityDataSerializers.BYTE - ); + ); private static final EntityDataAccessor SCALE = SynchedEntityData.defineId( CubozoaEntity.class, EntityDataSerializers.BYTE - ); + ); public CubozoaEntity(EntityType entityType, Level world) { super(entityType, world); } @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, - DifficultyInstance difficulty, - MobSpawnType spawnReason, - SpawnGroupData entityData, - CompoundTag entityTag) { + public SpawnGroupData finalizeSpawn( + ServerLevelAccessor world, + DifficultyInstance difficulty, + MobSpawnType spawnReason, + SpawnGroupData entityData, + CompoundTag entityTag + ) { SpawnGroupData data = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityTag); if (BiomeAPI.getFromBiome(world.getBiome(blockPosition())) == EndBiomes.SULPHUR_SPRINGS) { diff --git a/src/main/java/org/betterx/betterend/entity/DragonflyEntity.java b/src/main/java/org/betterx/betterend/entity/DragonflyEntity.java index 843ba31a..cbd5a882 100644 --- a/src/main/java/org/betterx/betterend/entity/DragonflyEntity.java +++ b/src/main/java/org/betterx/betterend/entity/DragonflyEntity.java @@ -1,5 +1,11 @@ package org.betterx.betterend.entity; +import org.betterx.bclib.entity.DespawnableAnimal; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndEntities; +import org.betterx.betterend.registry.EndSounds; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvent; @@ -26,12 +32,6 @@ import net.minecraft.world.level.pathfinder.BlockPathTypes; import net.minecraft.world.level.pathfinder.Path; import net.minecraft.world.phys.Vec3; -import org.betterx.bclib.entity.DespawnableAnimal; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndEntities; -import org.betterx.betterend.registry.EndSounds; - import java.util.EnumSet; public class DragonflyEntity extends DespawnableAnimal implements FlyingAnimal { @@ -178,7 +178,7 @@ public class DragonflyEntity extends DespawnableAnimal implements FlyingAnimal { MHelper.PI2, 3, 1 - ); + ); if (airPos != null && !isInVoid(airPos)) { return airPos; } @@ -198,7 +198,7 @@ public class DragonflyEntity extends DespawnableAnimal implements FlyingAnimal { rotation.x, rotation.z, 1.5707963705062866D - ); + ); } private boolean isInVoid(Vec3 pos) { diff --git a/src/main/java/org/betterx/betterend/entity/EndFishEntity.java b/src/main/java/org/betterx/betterend/entity/EndFishEntity.java index 54b7299f..142f0162 100644 --- a/src/main/java/org/betterx/betterend/entity/EndFishEntity.java +++ b/src/main/java/org/betterx/betterend/entity/EndFishEntity.java @@ -1,5 +1,9 @@ package org.betterx.betterend.entity; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.syncher.EntityDataAccessor; @@ -28,10 +32,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.Blocks; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.registry.EndItems; - public class EndFishEntity extends AbstractSchoolingFish { public static final int VARIANTS_NORMAL = 5; public static final int VARIANTS_SULPHUR = 3; @@ -39,22 +39,24 @@ public class EndFishEntity extends AbstractSchoolingFish { private static final EntityDataAccessor VARIANT = SynchedEntityData.defineId( EndFishEntity.class, EntityDataSerializers.BYTE - ); + ); private static final EntityDataAccessor SCALE = SynchedEntityData.defineId( EndFishEntity.class, EntityDataSerializers.BYTE - ); + ); public EndFishEntity(EntityType entityType, Level world) { super(entityType, world); } @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, - DifficultyInstance difficulty, - MobSpawnType spawnReason, - SpawnGroupData entityData, - CompoundTag entityTag) { + public SpawnGroupData finalizeSpawn( + ServerLevelAccessor world, + DifficultyInstance difficulty, + MobSpawnType spawnReason, + SpawnGroupData entityData, + CompoundTag entityTag + ) { SpawnGroupData data = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityTag); if (BiomeAPI.getFromBiome(world.getBiome(blockPosition())) == EndBiomes.SULPHUR_SPRINGS) { diff --git a/src/main/java/org/betterx/betterend/entity/EndSlimeEntity.java b/src/main/java/org/betterx/betterend/entity/EndSlimeEntity.java index e4ff4b7e..fa74b0e6 100644 --- a/src/main/java/org/betterx/betterend/entity/EndSlimeEntity.java +++ b/src/main/java/org/betterx/betterend/entity/EndSlimeEntity.java @@ -1,5 +1,14 @@ package org.betterx.betterend.entity; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.interfaces.ISlime; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.particles.ParticleOptions; @@ -35,22 +44,13 @@ import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.Blocks; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.interfaces.ISlime; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.util.GlobalState; - import java.util.EnumSet; public class EndSlimeEntity extends Slime { private static final EntityDataAccessor VARIANT = SynchedEntityData.defineId( EndSlimeEntity.class, EntityDataSerializers.BYTE - ); + ); public EndSlimeEntity(EntityType entityType, Level world) { super(entityType, world); @@ -67,7 +67,7 @@ public class EndSlimeEntity extends Slime { new NearestAttackableTargetGoal(this, Player.class, 10, true, false, (livingEntity) -> { return Math.abs(livingEntity.getY() - this.getY()) <= 4.0D; }) - ); + ); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal(this, IronGolem.class, true)); } @@ -81,11 +81,13 @@ public class EndSlimeEntity extends Slime { } @Override - public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, - DifficultyInstance difficulty, - MobSpawnType spawnReason, - SpawnGroupData entityData, - CompoundTag entityTag) { + public SpawnGroupData finalizeSpawn( + ServerLevelAccessor world, + DifficultyInstance difficulty, + MobSpawnType spawnReason, + SpawnGroupData entityData, + CompoundTag entityTag + ) { SpawnGroupData data = super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityTag); BCLBiome biome = BiomeAPI.getFromBiome(world.getBiome(blockPosition())); if (biome == EndBiomes.FOGGY_MUSHROOMLAND) { @@ -155,7 +157,7 @@ public class EndSlimeEntity extends Slime { this.getZ() + (double) h, this.random.nextFloat() * 360.0F, 0.0F - ); + ); this.level.addFreshEntity(slimeEntity); } } @@ -215,11 +217,13 @@ public class EndSlimeEntity extends Slime { return this.entityData.get(VARIANT) == 0; } - public static boolean canSpawn(EntityType entityType, - LevelAccessor world, - MobSpawnType spawnType, - BlockPos pos, - RandomSource random) { + public static boolean canSpawn( + EntityType entityType, + LevelAccessor world, + MobSpawnType spawnType, + BlockPos pos, + RandomSource random + ) { if (!world.getBlockState(pos.below()).is(CommonBlockTags.END_STONES)) { return false; } @@ -363,7 +367,7 @@ public class EndSlimeEntity extends Slime { ((EndSlimeMoveControl) EndSlimeEntity.this.getMoveControl()).look( EndSlimeEntity.this.getYRot(), EndSlimeEntity.this.isDealsDamage() - ); + ); } } @@ -409,7 +413,7 @@ public class EndSlimeEntity extends Slime { EndSlimeEntity.this.getJumpSound(), EndSlimeEntity.this.getSoundVolume(), getJumpSoundPitch() - ); + ); } } else { EndSlimeEntity.this.xxa = 0.0F; diff --git a/src/main/java/org/betterx/betterend/entity/ShadowWalkerEntity.java b/src/main/java/org/betterx/betterend/entity/ShadowWalkerEntity.java index 71b9ecc9..58e44a71 100644 --- a/src/main/java/org/betterx/betterend/entity/ShadowWalkerEntity.java +++ b/src/main/java/org/betterx/betterend/entity/ShadowWalkerEntity.java @@ -1,5 +1,8 @@ package org.betterx.betterend.entity; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndSounds; + import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.sounds.SoundEvent; @@ -21,9 +24,6 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndSounds; - public class ShadowWalkerEntity extends Monster { public ShadowWalkerEntity(EntityType entityType, Level world) { super(entityType, world); @@ -59,7 +59,7 @@ public class ShadowWalkerEntity extends Monster { 0, 0, 0 - ); + ); level.addParticle( ParticleTypes.SMOKE, getX() + random.nextGaussian() * 0.2, @@ -68,7 +68,7 @@ public class ShadowWalkerEntity extends Monster { 0, 0, 0 - ); + ); level.addParticle( ParticleTypes.ENTITY_EFFECT, getX() + random.nextGaussian() * 0.2, @@ -77,7 +77,7 @@ public class ShadowWalkerEntity extends Monster { 0, 0, 0 - ); + ); } @Override diff --git a/src/main/java/org/betterx/betterend/entity/SilkMothEntity.java b/src/main/java/org/betterx/betterend/entity/SilkMothEntity.java index 99afa1dd..6e58e229 100644 --- a/src/main/java/org/betterx/betterend/entity/SilkMothEntity.java +++ b/src/main/java/org/betterx/betterend/entity/SilkMothEntity.java @@ -1,5 +1,14 @@ package org.betterx.betterend.entity; +import org.betterx.bclib.entity.DespawnableAnimal; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.EndBlockProperties; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndEntities; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; import net.minecraft.nbt.CompoundTag; @@ -34,15 +43,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.pathfinder.BlockPathTypes; import net.minecraft.world.phys.Vec3; -import org.betterx.bclib.entity.DespawnableAnimal; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.EndBlockProperties; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndEntities; -import org.betterx.betterend.registry.EndItems; - import java.util.EnumSet; import org.jetbrains.annotations.Nullable; @@ -205,17 +205,21 @@ public class SilkMothEntity extends DespawnableAnimal implements FlyingAnimal { Vec3 vec3d = null; if (SilkMothEntity.this.hivePos != null && SilkMothEntity.this.hiveWorld == SilkMothEntity.this.level) { if (SilkMothEntity.this.position() - .distanceToSqr(SilkMothEntity.this.hivePos.getX(), - SilkMothEntity.this.hivePos.getY(), - SilkMothEntity.this.hivePos.getZ()) > 16) { + .distanceToSqr( + SilkMothEntity.this.hivePos.getX(), + SilkMothEntity.this.hivePos.getY(), + SilkMothEntity.this.hivePos.getZ() + ) > 16) { vec3d = SilkMothEntity.this.position().add(random.nextGaussian() * 2, 0, random.nextGaussian() * 2); } } vec3d = vec3d == null ? this.getRandomLocation() : vec3d; if (vec3d != null) { try { - SilkMothEntity.this.navigation.moveTo(SilkMothEntity.this.navigation.createPath(new BlockPos(vec3d), - 1), 1.0D); + SilkMothEntity.this.navigation.moveTo(SilkMothEntity.this.navigation.createPath( + new BlockPos(vec3d), + 1 + ), 1.0D); } catch (Exception e) { } } @@ -233,7 +237,7 @@ public class SilkMothEntity extends DespawnableAnimal implements FlyingAnimal { vec3d3.x, vec3d3.z, 1.5707963705062866D - ); + ); } } @@ -252,7 +256,7 @@ public class SilkMothEntity extends DespawnableAnimal implements FlyingAnimal { SilkMothEntity.this.hivePos.getX(), SilkMothEntity.this.hivePos.getY(), SilkMothEntity.this.hivePos.getZ() - ) < 16384; + ) < 16384; } @Override @@ -301,7 +305,7 @@ public class SilkMothEntity extends DespawnableAnimal implements FlyingAnimal { SilkMothEntity.this.hiveWorld, SilkMothEntity.this.hivePos, state.setValue(EndBlockProperties.FULLNESS, fullness) - ); + ); } SilkMothEntity.this.level.playSound( null, @@ -310,7 +314,7 @@ public class SilkMothEntity extends DespawnableAnimal implements FlyingAnimal { SoundSource.BLOCKS, 1, 1 - ); + ); SilkMothEntity.this.discard(); } else { SilkMothEntity.this.hivePos = null; diff --git a/src/main/java/org/betterx/betterend/entity/model/CubozoaEntityModel.java b/src/main/java/org/betterx/betterend/entity/model/CubozoaEntityModel.java index e05e251d..42fae1f3 100644 --- a/src/main/java/org/betterx/betterend/entity/model/CubozoaEntityModel.java +++ b/src/main/java/org/betterx/betterend/entity/model/CubozoaEntityModel.java @@ -1,5 +1,9 @@ package org.betterx.betterend.entity.model; +import org.betterx.betterend.entity.CubozoaEntity; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartNames; @@ -11,10 +15,6 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; import net.minecraft.util.Mth; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.entity.CubozoaEntity; - public class CubozoaEntityModel extends EntityModel { private final static int TENTACLE_COUNT = 4; @@ -32,26 +32,26 @@ public class CubozoaEntityModel extends EntityModel { PartNames.BODY, CubeListBuilder.create().texOffs(0, 17).addBox(-2.0F, -12.5F, -2.0F, 4.0F, 4.0F, 4.0F), PartPose.offset(0.0F, 24.0F, 0.0F) - ); + ); bodyPart.addOrReplaceChild( "main_cube_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-5.0F, -7.0F, -5.0F, 10.0F, 7.0F, 10.0F), PartPose.offsetAndRotation(0.0F, -14.0F, 0.0F, 0.0F, 0.0F, -3.1416F) - ); + ); for (int i = 1; i <= TENTACLE_COUNT; i++) { PartDefinition tentaclePart = bodyPart.addOrReplaceChild( "tentacle_center_" + i, CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, i * 1.5708F, 0.0F) - ); + ); tentaclePart.addOrReplaceChild( "tentacle_" + i, CubeListBuilder.create().texOffs(16, 17).addBox(-4.0F, 0.0F, 0.0F, 8.0F, 7.0F, 0.0F), PartPose.offset(0.0F, -7.0F, 4.5F) - ); + ); } return LayerDefinition.create(modelData, 48, 48); @@ -70,12 +70,14 @@ public class CubozoaEntityModel extends EntityModel { } @Override - public void setupAnim(CubozoaEntity entity, - float limbAngle, - float limbDistance, - float animationProgress, - float headYaw, - float headPitch) { + public void setupAnim( + CubozoaEntity entity, + float limbAngle, + float limbDistance, + float animationProgress, + float headYaw, + float headPitch + ) { float sin = Mth.sin(animationProgress * 0.13F); scaleY = sin * 0.1F + 0.9F; scaleXZ = Mth.sin(animationProgress * 0.13F + 3.14F) * 0.1F + 0.9F; @@ -86,14 +88,16 @@ public class CubozoaEntityModel extends EntityModel { } @Override - public void renderToBuffer(PoseStack matrices, - VertexConsumer vertices, - int light, - int overlay, - float red, - float green, - float blue, - float alpha) { + public void renderToBuffer( + PoseStack matrices, + VertexConsumer vertices, + int light, + int overlay, + float red, + float green, + float blue, + float alpha + ) { matrices.pushPose(); matrices.scale(scaleXZ, scaleY, scaleXZ); model.render(matrices, vertices, light, overlay); diff --git a/src/main/java/org/betterx/betterend/entity/model/DragonflyEntityModel.java b/src/main/java/org/betterx/betterend/entity/model/DragonflyEntityModel.java index 7514b88f..869bf62d 100644 --- a/src/main/java/org/betterx/betterend/entity/model/DragonflyEntityModel.java +++ b/src/main/java/org/betterx/betterend/entity/model/DragonflyEntityModel.java @@ -1,5 +1,9 @@ package org.betterx.betterend.entity.model; +import org.betterx.betterend.entity.DragonflyEntity; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartNames; @@ -10,10 +14,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.entity.DragonflyEntity; - public class DragonflyEntityModel extends EntityModel { private final ModelPart model; private final ModelPart head; @@ -34,61 +34,61 @@ public class DragonflyEntityModel extends EntityModel { PartNames.BODY, CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, -4.0F, 0.0F, 4.0F, 4.0F, 9.0F), PartPose.offset(2.0F, 21.5F, -4.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.HEAD, CubeListBuilder.create().texOffs(17, 0).addBox(-1.5F, -1.5F, -2.5F, 3.0F, 3.0F, 3.0F), PartPose.offsetAndRotation(-2.0F, -2.0F, 0.0F, 0.3491F, 0.0F, 0.0F) - ); + ); PartDefinition tailPart = bodyPart.addOrReplaceChild( PartNames.TAIL, CubeListBuilder.create().texOffs(26, 0).addBox(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 7.0F), PartPose.offset(-2.0F, -2.0F, 9.0F) - ); + ); tailPart.addOrReplaceChild( PartNames.TAIL_FIN, CubeListBuilder.create().texOffs(36, 0).addBox(-1.0F, -1.0F, 0.0F, 2.0F, 2.0F, 10.0F), PartPose.offset(0.0F, 0.0F, 7.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.LEFT_WING, CubeListBuilder.create().texOffs(0, 13).addBox(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F), PartPose.offset(-2.0F, -4.0F, 4.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.RIGHT_WING, CubeListBuilder.create().mirror().texOffs(0, 13).addBox(0.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F), PartPose.offset(-2.0F, -4.0F, 4.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.LEFT_WING_BASE, CubeListBuilder.create().texOffs(4, 17).addBox(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F), PartPose.offset(-2.0F, -4.0F, 8.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.RIGHT_WING_BASE, CubeListBuilder.create().mirror().texOffs(4, 17).addBox(0.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F), PartPose.offset(-2.0F, -4.0F, 8.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.LEFT_LEG, CubeListBuilder.create().texOffs(50, 1).addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F), PartPose.offsetAndRotation(-1.0F, 0.0F, 1.0F, 0.0F, 0.0F, -0.5236F) - ); + ); bodyPart.addOrReplaceChild( PartNames.RIGHT_LEG, CubeListBuilder.create().texOffs(50, 1).addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F), PartPose.offsetAndRotation(-3.0F, 0.0F, 1.0F, 0.0F, 0.0F, 0.5236F) - ); + ); return LayerDefinition.create(modelData, 64, 64); } @@ -109,12 +109,14 @@ public class DragonflyEntityModel extends EntityModel { } @Override - public void setupAnim(DragonflyEntity entity, - float limbAngle, - float limbDistance, - float animationProgress, - float headYaw, - float headPitch) { + public void setupAnim( + DragonflyEntity entity, + float limbAngle, + float limbDistance, + float animationProgress, + float headYaw, + float headPitch + ) { float progress = animationProgress * 2F; wing_1.zRot = 0.3491F + (float) Math.sin(progress) * 0.3491F; @@ -131,14 +133,16 @@ public class DragonflyEntityModel extends EntityModel { } @Override - public void renderToBuffer(PoseStack matrices, - VertexConsumer vertices, - int light, - int overlay, - float red, - float green, - float blue, - float alpha) { + public void renderToBuffer( + PoseStack matrices, + VertexConsumer vertices, + int light, + int overlay, + float red, + float green, + float blue, + float alpha + ) { model.render(matrices, vertices, light, overlay); } } diff --git a/src/main/java/org/betterx/betterend/entity/model/EndFishEntityModel.java b/src/main/java/org/betterx/betterend/entity/model/EndFishEntityModel.java index e2469612..b9029277 100644 --- a/src/main/java/org/betterx/betterend/entity/model/EndFishEntityModel.java +++ b/src/main/java/org/betterx/betterend/entity/model/EndFishEntityModel.java @@ -1,5 +1,9 @@ package org.betterx.betterend.entity.model; +import org.betterx.betterend.entity.EndFishEntity; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartNames; @@ -10,10 +14,6 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.entity.EndFishEntity; - public class EndFishEntityModel extends EntityModel { private final ModelPart model; private final ModelPart fin_top; @@ -30,37 +30,37 @@ public class EndFishEntityModel extends EntityModel { PartNames.BODY, CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -2.0F, -4.0F, 2.0F, 4.0F, 8.0F), PartPose.offset(0.0F, 20.0F, 0.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.TOP_FIN, CubeListBuilder.create().texOffs(0, 6).addBox(0.0F, -8.0F, 0.0F, 0.0F, 8.0F, 6.0F), PartPose.offsetAndRotation(0.0F, -2.0F, -4.0F, -0.6981F, 0.0F, 0.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.BOTTOM_FIN, CubeListBuilder.create().texOffs(0, 6).addBox(0.0F, 0.0F, 0.0F, 0.0F, 8.0F, 6.0F), PartPose.offsetAndRotation(0.0F, 2.0F, -4.0F, 0.6981F, 0.0F, 0.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.TAIL_FIN, CubeListBuilder.create().texOffs(0, 15).addBox(0.0F, -5.0F, 0.0F, 0.0F, 5.0F, 5.0F), PartPose.offsetAndRotation(0.0F, 0.0F, 2.0F, -0.7854F, 0.0F, 0.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.RIGHT_FIN, CubeListBuilder.create().texOffs(0, 25).addBox(-3.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F), PartPose.offsetAndRotation(-1.0F, 0.0F, -1.0F, 1.5708F, 0.7854F, 0.0F) - ); + ); bodyPart.addOrReplaceChild( PartNames.LEFT_FIN, CubeListBuilder.create().mirror().texOffs(0, 25).addBox(0.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F), PartPose.offsetAndRotation(-1.0F, 0.0F, -1.0F, 1.5708F, -0.7854F, 0.0F) - ); + ); return LayerDefinition.create(modelData, 32, 32); } @@ -77,12 +77,14 @@ public class EndFishEntityModel extends EntityModel { } @Override - public void setupAnim(EndFishEntity entity, - float limbAngle, - float limbDistance, - float animationProgress, - float headYaw, - float headPitch) { + public void setupAnim( + EndFishEntity entity, + float limbAngle, + float limbDistance, + float animationProgress, + float headYaw, + float headPitch + ) { float s1 = (float) Math.sin(animationProgress * 0.1); float s2 = (float) Math.sin(animationProgress * 0.05); flipper.yRot = s1 * 0.3F; @@ -93,14 +95,16 @@ public class EndFishEntityModel extends EntityModel { } @Override - public void renderToBuffer(PoseStack matrices, - VertexConsumer vertices, - int light, - int overlay, - float red, - float green, - float blue, - float alpha) { + public void renderToBuffer( + PoseStack matrices, + VertexConsumer vertices, + int light, + int overlay, + float red, + float green, + float blue, + float alpha + ) { model.render(matrices, vertices, light, overlay); } } diff --git a/src/main/java/org/betterx/betterend/entity/model/EndSlimeEntityModel.java b/src/main/java/org/betterx/betterend/entity/model/EndSlimeEntityModel.java index fa68c541..3b0745ee 100644 --- a/src/main/java/org/betterx/betterend/entity/model/EndSlimeEntityModel.java +++ b/src/main/java/org/betterx/betterend/entity/model/EndSlimeEntityModel.java @@ -1,5 +1,11 @@ package org.betterx.betterend.entity.model; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.entity.EndSlimeEntity; +import org.betterx.betterend.registry.EndEntitiesRenders; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.ListModel; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; @@ -12,11 +18,6 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.entity.EndSlimeEntity; -import org.betterx.betterend.registry.EndEntitiesRenders; public class EndSlimeEntityModel extends ListModel { private final ModelPart innerCube; @@ -43,37 +44,37 @@ public class EndSlimeEntityModel extends ListModel PartNames.BODY, CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, 16.0F, -4.0F, 8.0F, 8.0F, 8.0F), PartPose.ZERO - ); + ); } else { modelPartData.addOrReplaceChild( PartNames.BODY, CubeListBuilder.create().texOffs(0, 16).addBox(-3.0F, 17.0F, -3.0F, 6.0F, 6.0F, 6.0F), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( PartNames.RIGHT_EYE, CubeListBuilder.create().texOffs(32, 0).addBox(-3.25F, 18.0F, -3.5F, 2.0F, 2.0F, 2.0F), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( PartNames.LEFT_EYE, CubeListBuilder.create().texOffs(32, 4).addBox(1.25F, 18.0F, -3.5F, 2.0F, 2.0F, 2.0F), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( PartNames.MOUTH, CubeListBuilder.create().texOffs(32, 8).addBox(0.0F, 21.0F, -3.5F, 1.0F, 1.0F, 1.0F), PartPose.ZERO - ); + ); PartDefinition flowerPart = modelPartData.addOrReplaceChild( "flower", CubeListBuilder.create(), PartPose.ZERO - ); + ); PartDefinition cropPart = modelPartData.addOrReplaceChild("crop", CubeListBuilder.create(), PartPose.ZERO); for (int i = 0; i < 6; i++) { @@ -84,14 +85,14 @@ public class EndSlimeEntityModel extends ListModel "petalRot_" + i, CubeListBuilder.create(), PartPose.offsetAndRotation(0, 0, 0, 0, rot, 0) - ); + ); petalRotPart.addOrReplaceChild( "petal_" + i, CubeListBuilder.create().texOffs(40, 0).addBox(0.0F, 0.0F, 0.0F, 8.0F, 8.0F, 0.0F), PartPose.offset(-4, 8, 0) - ); + ); } } @@ -102,8 +103,8 @@ public class EndSlimeEntityModel extends ListModel super(RenderType::entityCutout); ModelPart modelPart = modelSet.bakeLayer(onlyShell - ? EndEntitiesRenders.END_SLIME_SHELL_MODEL - : EndEntitiesRenders.END_SLIME_MODEL); + ? EndEntitiesRenders.END_SLIME_SHELL_MODEL + : EndEntitiesRenders.END_SLIME_MODEL); innerCube = modelPart.getChild(PartNames.BODY); if (!onlyShell) { @@ -122,12 +123,14 @@ public class EndSlimeEntityModel extends ListModel } @Override - public void setupAnim(T entity, - float limbAngle, - float limbDistance, - float animationProgress, - float headYaw, - float headPitch) { + public void setupAnim( + T entity, + float limbAngle, + float limbDistance, + float animationProgress, + float headYaw, + float headPitch + ) { } public void renderFlower(PoseStack matrices, VertexConsumer vertices, int light, int overlay) { diff --git a/src/main/java/org/betterx/betterend/entity/model/SilkMothEntityModel.java b/src/main/java/org/betterx/betterend/entity/model/SilkMothEntityModel.java index 8541016f..af94286c 100644 --- a/src/main/java/org/betterx/betterend/entity/model/SilkMothEntityModel.java +++ b/src/main/java/org/betterx/betterend/entity/model/SilkMothEntityModel.java @@ -1,5 +1,9 @@ package org.betterx.betterend.entity.model; +import org.betterx.betterend.entity.SilkMothEntity; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartNames; @@ -11,10 +15,6 @@ import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.client.renderer.RenderType; import net.minecraft.util.Mth; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.entity.SilkMothEntity; - public class SilkMothEntityModel extends EntityModel { private final ModelPart legsL; private final ModelPart cube_r1; @@ -40,91 +40,91 @@ public class SilkMothEntityModel extends EntityModel { PartNames.LEFT_LEG, CubeListBuilder.create().texOffs(0, 0), PartPose.offsetAndRotation(1.5f, 19.9f, -0.45f, 0.0f, 0.0f, 0.6981f) - ); + ); legsL.addOrReplaceChild( "cube_r1", CubeListBuilder.create().texOffs(0, 13).addBox(0.0216f, 0.0f, -0.5976f, 3.0f, 0.0f, 1.0f), PartPose.offsetAndRotation(0.0f, 0.0f, -1.0f, 0.0f, 0.2182f, 0.3927f) - ); + ); legsL.addOrReplaceChild( "cube_r2", CubeListBuilder.create().texOffs(0, 15).addBox(0.0f, 0.0f, -0.6f, 3.0f, 0.0f, 1.0f), PartPose.offsetAndRotation(0.5f, 0.1f, -0.05f, 0.0f, 0.0f, 0.3927f) - ); + ); legsL.addOrReplaceChild( "cube_r3", CubeListBuilder.create().texOffs(0, 14).addBox(0.0f, 0.0f, -0.5f, 3.0f, 0.0f, 1.0f), PartPose.offsetAndRotation(0.0f, 0.0f, 0.9f, 0.0f, -0.2182f, 0.3927f) - ); + ); PartDefinition legsR = modelPartData.addOrReplaceChild( PartNames.RIGHT_LEG, CubeListBuilder.create().texOffs(0, 0), PartPose.offsetAndRotation(-1.5f, 19.9f, -0.55f, 0.0f, 3.1416f, -0.6545f) - ); + ); legsR.addOrReplaceChild( "cube_r4", CubeListBuilder.create().texOffs(0, 10).addBox(0.0f, 0.0f, -0.5f, 3.0f, 0.0f, 1.0f), PartPose.offsetAndRotation(0.0f, 0.0f, -1.0f, 0.0f, 0.2182f, 0.3927f) - ); + ); legsR.addOrReplaceChild( "cube_r5", CubeListBuilder.create().texOffs(0, 11).addBox(0.0f, 0.0f, -0.4f, 3.0f, 0.0f, 1.0f), PartPose.offsetAndRotation(0.5f, 0.1f, -0.05f, 0.0f, 0.0f, 0.3927f) - ); + ); legsR.addOrReplaceChild( "cube_r6", CubeListBuilder.create().texOffs(0, 12).addBox(0.0216f, 0.0f, -0.4024f, 3.0f, 0.0f, 1.0f), PartPose.offsetAndRotation(0.0f, 0.0f, 0.9f, 0.0f, -0.2182f, 0.3927f) - ); + ); PartDefinition head_pivot = modelPartData.addOrReplaceChild( PartNames.HEAD, CubeListBuilder.create().texOffs(15, 10).addBox(-1.5f, -1.5f, -2.0f, 3.0f, 3.0f, 3.0f), PartPose.offset(0.0f, 18.0f, -3.0f) - ); + ); head_pivot.addOrReplaceChild( "tendril_r_r1", CubeListBuilder.create().mirror().texOffs(23, 0).addBox(-1.5f, -5.0f, 0.0f, 3.0f, 5.0f, 0.0f), PartPose.offsetAndRotation(1.0f, -1.15f, -1.0f, 0.0f, 0.0f, 0.3927f) - ); + ); head_pivot.addOrReplaceChild( "tendril_r_r2", CubeListBuilder.create().texOffs(23, 0).addBox(-1.5f, -5.0f, 0.0f, 3.0f, 5.0f, 0.0f), PartPose.offsetAndRotation(-1.0f, -1.15f, -1.0f, 0.0f, 0.0f, -0.3927f) - ); + ); PartDefinition bb_main = modelPartData.addOrReplaceChild( PartNames.BODY, CubeListBuilder.create().texOffs(19, 19).addBox(-2.5f, -8.5f, -3.0f, 5.0f, 5.0f, 3.0f), PartPose.offset(0.0f, 24.0f, 0.0f) - ); + ); bb_main.addOrReplaceChild( PartNames.RIGHT_WING, CubeListBuilder.create().mirror().texOffs(0, 5).addBox(-7.0f, 0.0f, -3.0f, 9.0f, 0.0f, 5.0f), PartPose.offsetAndRotation(-1.5f, -6.5f, 0.5f, 0.0f, 0.0f, 0.3927f) - ); + ); bb_main.addOrReplaceChild( PartNames.LEFT_WING, CubeListBuilder.create().texOffs(0, 5).addBox(-2.0f, 0.0f, -3.0f, 9.0f, 0.0f, 5.0f), PartPose.offsetAndRotation(1.5f, -6.5f, 0.5f, 0.0f, 0.0f, -0.3927f) - ); + ); bb_main.addOrReplaceChild( "abdomen_r1", CubeListBuilder.create().texOffs(0, 10).addBox(-3.0f, -4.0f, -1.0f, 4.0f, 4.0f, 7.0f), PartPose.offsetAndRotation(1.0f, -3.9f, 0.0f, -0.3927f, 0.0f, 0.0f) - ); + ); return LayerDefinition.create(modelData, 64, 64); } @@ -150,12 +150,14 @@ public class SilkMothEntityModel extends EntityModel { } @Override - public void setupAnim(SilkMothEntity entity, - float limbAngle, - float limbDistance, - float animationProgress, - float headYaw, - float headPitch) { + public void setupAnim( + SilkMothEntity entity, + float limbAngle, + float limbDistance, + float animationProgress, + float headYaw, + float headPitch + ) { wingR_r1.zRot = Mth.sin(animationProgress * 2F) * 0.4F + 0.3927F; wingL_r1.zRot = -wingR_r1.zRot; head_pivot.xRot = Mth.sin(animationProgress * 0.03F) * 0.1F; @@ -167,14 +169,16 @@ public class SilkMothEntityModel extends EntityModel { } @Override - public void renderToBuffer(PoseStack matrices, - VertexConsumer vertices, - int light, - int overlay, - float red, - float green, - float blue, - float alpha) { + public void renderToBuffer( + PoseStack matrices, + VertexConsumer vertices, + int light, + int overlay, + float red, + float green, + float blue, + float alpha + ) { bb_main.render(matrices, vertices, light, overlay); head_pivot.render(matrices, vertices, light, overlay); legsL.render(matrices, vertices, light, overlay); diff --git a/src/main/java/org/betterx/betterend/entity/render/RendererEntityCubozoa.java b/src/main/java/org/betterx/betterend/entity/render/RendererEntityCubozoa.java index 8ab67c9f..838f4846 100644 --- a/src/main/java/org/betterx/betterend/entity/render/RendererEntityCubozoa.java +++ b/src/main/java/org/betterx/betterend/entity/render/RendererEntityCubozoa.java @@ -1,5 +1,12 @@ package org.betterx.betterend.entity.render; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.entity.CubozoaEntity; +import org.betterx.betterend.entity.model.CubozoaEntityModel; +import org.betterx.betterend.registry.EndEntitiesRenders; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; @@ -8,13 +15,6 @@ import net.minecraft.client.renderer.entity.layers.EyesLayer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.entity.CubozoaEntity; -import org.betterx.betterend.entity.model.CubozoaEntityModel; -import org.betterx.betterend.registry.EndEntitiesRenders; - public class RendererEntityCubozoa extends MobRenderer { private static final ResourceLocation[] TEXTURE = new ResourceLocation[2]; private static final RenderType[] GLOW = new RenderType[2]; @@ -28,27 +28,30 @@ public class RendererEntityCubozoa extends MobRenderer { private static final ResourceLocation TEXTURE = BetterEnd.makeID("textures/entity/dragonfly.png"); private static final RenderType GLOW = RenderType.eyes(BetterEnd.makeID("textures/entity/dragonfly_glow.png")); diff --git a/src/main/java/org/betterx/betterend/entity/render/RendererEntityEndFish.java b/src/main/java/org/betterx/betterend/entity/render/RendererEntityEndFish.java index 66937bc4..a57e1f37 100644 --- a/src/main/java/org/betterx/betterend/entity/render/RendererEntityEndFish.java +++ b/src/main/java/org/betterx/betterend/entity/render/RendererEntityEndFish.java @@ -1,5 +1,12 @@ package org.betterx.betterend.entity.render; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.entity.EndFishEntity; +import org.betterx.betterend.entity.model.EndFishEntityModel; +import org.betterx.betterend.registry.EndEntitiesRenders; + +import com.mojang.blaze3d.vertex.PoseStack; +import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.entity.EntityRendererProvider; @@ -8,13 +15,6 @@ import net.minecraft.client.renderer.entity.layers.EyesLayer; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.resources.ResourceLocation; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.entity.EndFishEntity; -import org.betterx.betterend.entity.model.EndFishEntityModel; -import org.betterx.betterend.registry.EndEntitiesRenders; - public class RendererEntityEndFish extends MobRenderer { private static final ResourceLocation[] TEXTURE = new ResourceLocation[EndFishEntity.VARIANTS]; private static final RenderType[] GLOW = new RenderType[EndFishEntity.VARIANTS]; @@ -28,27 +28,30 @@ public class RendererEntityEndFish extends MobRenderer> { private static final ResourceLocation[] TEXTURE = new ResourceLocation[4]; private static final RenderType[] GLOW = new RenderType[4]; @@ -32,27 +32,30 @@ public class RendererEntityEndSlime extends MobRenderer modelOrdinal; private final EndSlimeEntityModel modelLake; - public OverlayFeatureRenderer(RenderLayerParent> featureRendererContext, - EntityRendererProvider.Context ctx) { + public OverlayFeatureRenderer( + RenderLayerParent> featureRendererContext, + EntityRendererProvider.Context ctx + ) { super(featureRendererContext); modelOrdinal = new EndSlimeEntityModel<>(ctx.getModelSet(), true); modelLake = new EndSlimeEntityModel<>(ctx.getModelSet(), true); } - public void render(PoseStack matrixStack, - MultiBufferSource vertexConsumerProvider, - int i, - T livingEntity, - float f, - float g, - float h, - float j, - float k, - float l) { + public void render( + PoseStack matrixStack, + MultiBufferSource vertexConsumerProvider, + int i, + T livingEntity, + float f, + float g, + float h, + float j, + float k, + float l + ) { if (!livingEntity.isInvisible()) { if (livingEntity.isLake()) { VertexConsumer vertexConsumer = vertexConsumerProvider.getBuffer(RenderType.entityCutout(this.getTextureLocation( livingEntity))); this.getParentModel() - .renderFlower(matrixStack, - vertexConsumer, - i, - LivingEntityRenderer.getOverlayCoords(livingEntity, 0.0F) - ); + .renderFlower( + matrixStack, + vertexConsumer, + i, + LivingEntityRenderer.getOverlayCoords(livingEntity, 0.0F) + ); } else if (livingEntity.isAmber() || livingEntity.isChorus()) { VertexConsumer vertexConsumer = vertexConsumerProvider.getBuffer(RenderType.entityCutout(this.getTextureLocation( livingEntity))); this.getParentModel() - .renderCrop(matrixStack, - vertexConsumer, - i, - LivingEntityRenderer.getOverlayCoords(livingEntity, 0.0F) - ); + .renderCrop( + matrixStack, + vertexConsumer, + i, + LivingEntityRenderer.getOverlayCoords(livingEntity, 0.0F) + ); } EndSlimeEntityModel model = livingEntity.getSlimeType() == 1 ? modelLake : modelOrdinal; @@ -143,7 +154,7 @@ public class RendererEntityEndSlime extends MobRenderer> { private static final ResourceLocation TEXTURE = BetterEnd.makeID("textures/entity/shadow_walker.png"); diff --git a/src/main/java/org/betterx/betterend/entity/render/SilkMothEntityRenderer.java b/src/main/java/org/betterx/betterend/entity/render/SilkMothEntityRenderer.java index 4e335d17..bbb00f9d 100644 --- a/src/main/java/org/betterx/betterend/entity/render/SilkMothEntityRenderer.java +++ b/src/main/java/org/betterx/betterend/entity/render/SilkMothEntityRenderer.java @@ -1,14 +1,14 @@ package org.betterx.betterend.entity.render; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.MobRenderer; -import net.minecraft.resources.ResourceLocation; - import org.betterx.betterend.BetterEnd; import org.betterx.betterend.entity.SilkMothEntity; import org.betterx.betterend.entity.model.SilkMothEntityModel; import org.betterx.betterend.registry.EndEntitiesRenders; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.resources.ResourceLocation; + public class SilkMothEntityRenderer extends MobRenderer { private static final ResourceLocation TEXTURE = BetterEnd.makeID("textures/entity/silk_moth.png"); diff --git a/src/main/java/org/betterx/betterend/events/ItemTooltipCallback.java b/src/main/java/org/betterx/betterend/events/ItemTooltipCallback.java index f236d9f7..ff3ea996 100644 --- a/src/main/java/org/betterx/betterend/events/ItemTooltipCallback.java +++ b/src/main/java/org/betterx/betterend/events/ItemTooltipCallback.java @@ -24,7 +24,7 @@ public interface ItemTooltipCallback { callback.getTooltip(player, stack, context, lines); } } - ); + ); /** * Called when an item stack's tooltip is rendered. Text added to {@code lines} will be diff --git a/src/main/java/org/betterx/betterend/events/PlayerAdvancementsCallback.java b/src/main/java/org/betterx/betterend/events/PlayerAdvancementsCallback.java index 80302353..6d4bdf8b 100644 --- a/src/main/java/org/betterx/betterend/events/PlayerAdvancementsCallback.java +++ b/src/main/java/org/betterx/betterend/events/PlayerAdvancementsCallback.java @@ -15,7 +15,7 @@ public interface PlayerAdvancementsCallback { event.onAdvancementComplete(player, advancement, criterionName); } } - ); + ); void onAdvancementComplete(ServerPlayer player, Advancement advancement, String criterionName); } diff --git a/src/main/java/org/betterx/betterend/integration/EnderscapeIntegration.java b/src/main/java/org/betterx/betterend/integration/EnderscapeIntegration.java index 93c1ea32..d2473013 100644 --- a/src/main/java/org/betterx/betterend/integration/EnderscapeIntegration.java +++ b/src/main/java/org/betterx/betterend/integration/EnderscapeIntegration.java @@ -1,17 +1,17 @@ package org.betterx.betterend.integration; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.api.v2.tag.TagAPI; +import org.betterx.bclib.integration.ModIntegration; + import net.minecraft.core.Holder; import net.minecraft.core.MappedRegistry; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.GenerationStep.Decoration; -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.api.v2.tag.TagAPI; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.integration.ModIntegration; - public class EnderscapeIntegration extends ModIntegration { public EnderscapeIntegration() { super("enderscape"); @@ -32,8 +32,10 @@ public class EnderscapeIntegration extends ModIntegration { } }); - BCLFeature scatteredShadowQuartzOre = getFeature("scattered_shadow_quartz_ore", - Decoration.UNDERGROUND_DECORATION); + BCLFeature scatteredShadowQuartzOre = getFeature( + "scattered_shadow_quartz_ore", + Decoration.UNDERGROUND_DECORATION + ); BCLFeature voidNebuliteOre = getFeature("void_nebulite_ore", Decoration.UNDERGROUND_DECORATION); BCLFeature nebuliteOre = getFeature("nebulite_ore", Decoration.UNDERGROUND_DECORATION); diff --git a/src/main/java/org/betterx/betterend/integration/FlamboyantRefabricatedIntegration.java b/src/main/java/org/betterx/betterend/integration/FlamboyantRefabricatedIntegration.java index db1df8a6..a531d687 100644 --- a/src/main/java/org/betterx/betterend/integration/FlamboyantRefabricatedIntegration.java +++ b/src/main/java/org/betterx/betterend/integration/FlamboyantRefabricatedIntegration.java @@ -1,14 +1,15 @@ package org.betterx.betterend.integration; -import net.minecraft.world.level.ItemLike; - -import com.google.common.collect.Maps; import org.betterx.bclib.integration.ModIntegration; import org.betterx.bclib.util.ColorUtil; import org.betterx.betterend.blocks.HydraluxPetalColoredBlock; import org.betterx.betterend.complexmaterials.ColoredMaterial; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.world.level.ItemLike; + +import com.google.common.collect.Maps; + import java.awt.*; import java.util.Map; diff --git a/src/main/java/org/betterx/betterend/integration/Integrations.java b/src/main/java/org/betterx/betterend/integration/Integrations.java index 5cdb9b19..691fd06a 100644 --- a/src/main/java/org/betterx/betterend/integration/Integrations.java +++ b/src/main/java/org/betterx/betterend/integration/Integrations.java @@ -1,11 +1,5 @@ package org.betterx.betterend.integration; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; - -import net.fabricmc.loader.api.FabricLoader; - import org.betterx.bclib.api.v2.ModIntegrationAPI; import org.betterx.bclib.integration.ModIntegration; import org.betterx.bclib.recipes.GridRecipe; @@ -16,6 +10,12 @@ import org.betterx.betterend.integration.byg.BYGIntegration; import org.betterx.betterend.item.GuideBookItem; import org.betterx.betterend.registry.EndItems; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; + +import net.fabricmc.loader.api.FabricLoader; + public class Integrations { public static final ModIntegration BYG = ModIntegrationAPI.register(new BYGIntegration()); public static final ModIntegration NOURISH = ModIntegrationAPI.register(new NourishIntegration()); diff --git a/src/main/java/org/betterx/betterend/integration/NourishIntegration.java b/src/main/java/org/betterx/betterend/integration/NourishIntegration.java index 2087ccc4..7570dcef 100644 --- a/src/main/java/org/betterx/betterend/integration/NourishIntegration.java +++ b/src/main/java/org/betterx/betterend/integration/NourishIntegration.java @@ -1,12 +1,12 @@ package org.betterx.betterend.integration; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; - import org.betterx.bclib.api.v2.tag.TagAPI; import org.betterx.bclib.integration.ModIntegration; import org.betterx.betterend.registry.EndItems; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; + public class NourishIntegration extends ModIntegration { public NourishIntegration() { super("nourish"); @@ -32,7 +32,7 @@ public class NourishIntegration extends ModIntegration { EndItems.CHORUS_MUSHROOM_RAW, EndItems.CHORUS_MUSHROOM_COOKED, EndItems.BOLUX_MUSHROOM_COOKED - ); + ); TagAPI.addItemTag( protein, EndItems.END_FISH_RAW, @@ -40,13 +40,13 @@ public class NourishIntegration extends ModIntegration { EndItems.CHORUS_MUSHROOM_COOKED, EndItems.BOLUX_MUSHROOM_COOKED, EndItems.CAVE_PUMPKIN_PIE - ); + ); TagAPI.addItemTag( sweets, EndItems.SHADOW_BERRY_JELLY, EndItems.SWEET_BERRY_JELLY, EndItems.BLOSSOM_BERRY_JELLY, EndItems.CAVE_PUMPKIN_PIE - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/integration/byg/BYGBlocks.java b/src/main/java/org/betterx/betterend/integration/byg/BYGBlocks.java index d494feb8..be446473 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/BYGBlocks.java +++ b/src/main/java/org/betterx/betterend/integration/byg/BYGBlocks.java @@ -1,11 +1,11 @@ package org.betterx.betterend.integration.byg; -import net.minecraft.world.level.block.Block; - import org.betterx.bclib.blocks.BaseVineBlock; import org.betterx.betterend.blocks.basis.EndWallPlantBlock; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.world.level.block.Block; + public class BYGBlocks { public static final Block IVIS_MOSS = EndBlocks.registerBlock("ivis_moss", new EndWallPlantBlock()); public static final Block NIGHTSHADE_MOSS = EndBlocks.registerBlock("nightshade_moss", new EndWallPlantBlock()); diff --git a/src/main/java/org/betterx/betterend/integration/byg/biomes/NightshadeRedwoods.java b/src/main/java/org/betterx/betterend/integration/byg/biomes/NightshadeRedwoods.java index b4d1afd1..9b9abc55 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/biomes/NightshadeRedwoods.java +++ b/src/main/java/org/betterx/betterend/integration/byg/biomes/NightshadeRedwoods.java @@ -1,5 +1,12 @@ package org.betterx.betterend.integration.byg.biomes; +import org.betterx.bclib.BCLib; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; +import org.betterx.betterend.integration.Integrations; +import org.betterx.betterend.integration.byg.features.BYGFeatures; +import org.betterx.betterend.registry.EndFeatures; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.Holder; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.sounds.SoundEvent; @@ -11,13 +18,6 @@ import net.minecraft.world.level.biome.BiomeSpecialEffects; import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData; import net.minecraft.world.level.levelgen.GenerationStep.Decoration; -import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; -import org.betterx.betterend.integration.Integrations; -import org.betterx.betterend.integration.byg.features.BYGFeatures; -import org.betterx.betterend.registry.EndFeatures; -import org.betterx.betterend.world.biome.EndBiome; - import java.util.List; public class NightshadeRedwoods extends EndBiome.Config { @@ -37,7 +37,7 @@ public class NightshadeRedwoods extends EndBiome.Config { .particles( ParticleTypes.REVERSE_PORTAL, 0.002F - ) + ) //TODO: 1.18 surface rules // .setSurface(biome.getGenerationSettings() // .getSurfaceBuilder() diff --git a/src/main/java/org/betterx/betterend/integration/byg/biomes/OldBulbisGardens.java b/src/main/java/org/betterx/betterend/integration/byg/biomes/OldBulbisGardens.java index dca30ffa..73435888 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/biomes/OldBulbisGardens.java +++ b/src/main/java/org/betterx/betterend/integration/byg/biomes/OldBulbisGardens.java @@ -1,5 +1,12 @@ package org.betterx.betterend.integration.byg.biomes; +import org.betterx.bclib.BCLib; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; +import org.betterx.betterend.integration.Integrations; +import org.betterx.betterend.integration.byg.features.BYGFeatures; +import org.betterx.betterend.registry.EndFeatures; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.particles.ParticleTypes; @@ -14,13 +21,6 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.levelgen.GenerationStep.Decoration; import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; -import org.betterx.betterend.integration.Integrations; -import org.betterx.betterend.integration.byg.features.BYGFeatures; -import org.betterx.betterend.registry.EndFeatures; -import org.betterx.betterend.world.biome.EndBiome; - import java.util.List; import java.util.function.Supplier; @@ -47,7 +47,7 @@ public class OldBulbisGardens extends EndBiome.Config { .particles( ParticleTypes.REVERSE_PORTAL, 0.002F - ) + ) //TODO: 1.18 surface rules //.surface(ivis, origin) .feature(EndFeatures.END_LAKE_RARE) diff --git a/src/main/java/org/betterx/betterend/integration/byg/features/BYGFeatures.java b/src/main/java/org/betterx/betterend/integration/byg/features/BYGFeatures.java index 18e45c65..6e45e2a0 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/features/BYGFeatures.java +++ b/src/main/java/org/betterx/betterend/integration/byg/features/BYGFeatures.java @@ -1,8 +1,5 @@ package org.betterx.betterend.integration.byg.features; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - import org.betterx.bclib.api.v2.levelgen.features.BCLCommonFeatures; import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; import org.betterx.betterend.BetterEnd; @@ -13,6 +10,9 @@ import org.betterx.betterend.world.features.VineFeature; import org.betterx.betterend.world.features.WallPlantFeature; import org.betterx.betterend.world.features.WallPlantOnLogFeature; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + public class BYGFeatures { public static final BCLFeature OLD_BULBIS_TREE = redisterVegetation( "old_bulbis_tree", diff --git a/src/main/java/org/betterx/betterend/integration/byg/features/BigEtherTreeFeature.java b/src/main/java/org/betterx/betterend/integration/byg/features/BigEtherTreeFeature.java index 362a0d2e..fed93d3b 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/features/BigEtherTreeFeature.java +++ b/src/main/java/org/betterx/betterend/integration/byg/features/BigEtherTreeFeature.java @@ -1,5 +1,13 @@ package org.betterx.betterend.integration.byg.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.integration.Integrations; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -9,13 +17,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.base.Function; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.integration.Integrations; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java b/src/main/java/org/betterx/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java index e46583a0..4ad94c81 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java +++ b/src/main/java/org/betterx/betterend/integration/byg/features/NightshadeRedwoodTreeFeature.java @@ -1,5 +1,20 @@ package org.betterx.betterend.integration.byg.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.PosInfo; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.SDFDisplacement; +import org.betterx.bclib.sdf.operator.SDFFlatWave; +import org.betterx.bclib.sdf.operator.SDFSmoothUnion; +import org.betterx.bclib.sdf.primitive.SDFCappedCone; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.integration.Integrations; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -14,20 +29,6 @@ import net.minecraft.world.level.material.Material; import com.google.common.base.Function; import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.PosInfo; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.SDFDisplacement; -import org.betterx.bclib.sdf.operator.SDFFlatWave; -import org.betterx.bclib.sdf.operator.SDFSmoothUnion; -import org.betterx.bclib.sdf.primitive.SDFCappedCone; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.integration.Integrations; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/integration/byg/features/OldBulbisTreeFeature.java b/src/main/java/org/betterx/betterend/integration/byg/features/OldBulbisTreeFeature.java index add1ae21..79d140c3 100644 --- a/src/main/java/org/betterx/betterend/integration/byg/features/OldBulbisTreeFeature.java +++ b/src/main/java/org/betterx/betterend/integration/byg/features/OldBulbisTreeFeature.java @@ -1,18 +1,5 @@ package org.betterx.betterend.integration.byg.features; -import net.minecraft.core.BlockPos; -import net.minecraft.util.Mth; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.phys.AABB; - -import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -26,6 +13,20 @@ import org.betterx.bclib.util.SplineHelper; import org.betterx.betterend.integration.Integrations; import org.betterx.betterend.noise.OpenSimplexNoise; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.Mth; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; +import net.minecraft.world.phys.AABB; + +import com.google.common.collect.Lists; + import java.util.List; import java.util.function.Function; @@ -101,14 +102,16 @@ public class OldBulbisTreeFeature extends DefaultFeature { return true; } - private void bigSphere(WorldGenLevel world, - BlockPos pos, - float radius, - BlockState cap, - BlockState glow, - BlockState wood, - Function replacement, - RandomSource random) { + private void bigSphere( + WorldGenLevel world, + BlockPos pos, + float radius, + BlockState cap, + BlockState glow, + BlockState wood, + Function replacement, + RandomSource random + ) { OpenSimplexNoise noise = new OpenSimplexNoise(random.nextLong()); SDF sphere = new SDFSphere().setRadius(radius).setBlock(cap); @@ -155,12 +158,14 @@ public class OldBulbisTreeFeature extends DefaultFeature { sphere.fillArea(world, pos, new AABB(pos.above((int) offsetY)).inflate(radius * 1.3F)); } - private void makeRoots(WorldGenLevel world, - BlockPos pos, - float radius, - RandomSource random, - BlockState wood, - Function replacement) { + private void makeRoots( + WorldGenLevel world, + BlockPos pos, + float radius, + RandomSource random, + BlockState wood, + Function replacement + ) { int count = (int) (radius * 1.5F); for (int i = 0; i < count; i++) { float angle = (float) i / (float) count * MHelper.PI2; diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java index 4abd640f..d96b5a37 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingCategory.java @@ -1,6 +1,8 @@ package org.betterx.betterend.integration.rei; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.network.chat.Component; import com.google.common.collect.Lists; @@ -12,7 +14,6 @@ import me.shedaniel.rei.api.client.registry.display.DisplayCategory; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; -import org.betterx.betterend.registry.EndBlocks; import java.text.DecimalFormat; import java.util.List; @@ -52,11 +53,12 @@ public class REIAlloyingCategory implements DisplayCategory .animationDurationMS(10000)); widgets.add(Widgets.createLabel( new Point(bounds.x + bounds.width - 5, bounds.y + 5), - Component.translatable("category.rei.cooking.time&xp", - df.format(display.getXp()), - df.format(smeltTime / 20D) - ) - ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + Component.translatable( + "category.rei.cooking.time&xp", + df.format(display.getXp()), + df.format(smeltTime / 20D) + ) + ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)) .animationDurationTicks(smeltTime)); List inputEntries = display.getInputEntries(); diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java index 85b2a2c5..eaa74167 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingDisplay.java @@ -1,5 +1,8 @@ package org.betterx.betterend.integration.rei; +import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; +import org.betterx.betterend.recipe.builders.AlloyingRecipe; + import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -12,8 +15,6 @@ import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.api.common.util.EntryStacks; -import org.betterx.betterend.blocks.entities.EndStoneSmelterBlockEntity; -import org.betterx.betterend.recipe.builders.AlloyingRecipe; import java.util.Collections; import java.util.List; @@ -23,11 +24,11 @@ import org.jetbrains.annotations.NotNull; public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDisplay { - private static List fuel; + private static final List fuel; - private Recipe recipe; - private float xp; - private double smeltTime; + private final Recipe recipe; + private final float xp; + private final double smeltTime; public REIAlloyingDisplay(AlloyingRecipe recipe) { @@ -38,7 +39,7 @@ public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDi super( EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) - ); + ); this.recipe = recipe; this.xp = xp; this.smeltTime = smeltTime; @@ -101,7 +102,7 @@ public class REIAlloyingDisplay extends BasicDisplay implements SimpleGridMenuDi EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(Component.translatable( "category.rei.smelting.fuel").withStyle(ChatFormatting.YELLOW)) - )) + )) .collect(Collectors.toList()); } } \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java index 27a04d50..19cacf77 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAlloyingFuelCategory.java @@ -1,11 +1,11 @@ package org.betterx.betterend.integration.rei; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Items; import com.google.common.collect.Lists; -import com.mojang.blaze3d.vertex.PoseStack; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.gui.DisplayRenderer; @@ -52,7 +52,7 @@ public class REIAlloyingFuelCategory implements DisplayCategory { widgets.add(Widgets.createLabel( new Point(bounds.x + bounds.width - 7, bounds.y + bounds.height - 15), Component.translatable("category.rei.damage.amount&dmg", display.getDamage()) - ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); widgets.add(Widgets.createSlot(new Point(x - 20, y + 4)).entries(materials).markInput()); widgets.add(Widgets.createSlot(new Point(x + 1, y + 4)).entries(inputEntries.get(0)).markInput()); widgets.add(Widgets.createSlot(new Point(x + 61, y + 5)) diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java index 83c6e62a..4f8cd6fe 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIAnvilDisplay.java @@ -1,5 +1,7 @@ package org.betterx.betterend.integration.rei; +import org.betterx.bclib.recipes.AnvilRecipe; + import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; @@ -8,7 +10,6 @@ import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.util.EntryIngredients; -import org.betterx.bclib.recipes.AnvilRecipe; import java.util.Collections; import java.util.Optional; @@ -22,7 +23,7 @@ public class REIAnvilDisplay extends BasicDisplay implements SimpleGridMenuDispl super( EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) - ); + ); this.recipe = recipe; inputs.get(1).forEach(entryStack -> { diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java index b1d3eab6..8b49ed6b 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionCategory.java @@ -1,5 +1,8 @@ package org.betterx.betterend.integration.rei; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -12,8 +15,6 @@ import me.shedaniel.rei.api.client.registry.display.DisplayCategory; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.entry.EntryStack; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndBlocks; import java.util.ArrayList; import java.util.List; @@ -99,7 +100,7 @@ public class REIInfusionCategory implements DisplayCategory widgets.add(Widgets.createLabel( new Point(bounds.getMaxX() - 5, bounds.y + 6), Component.translatable("category.rei.infusion.time&val", display.getInfusionTime()) - ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + ).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); return widgets; } diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java index 07e24ba1..645a84a1 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIInfusionDisplay.java @@ -1,5 +1,7 @@ package org.betterx.betterend.integration.rei; +import org.betterx.betterend.recipe.builders.InfusionRecipe; + import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.crafting.Recipe; @@ -7,7 +9,6 @@ import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.display.SimpleGridMenuDisplay; import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.util.EntryIngredients; -import org.betterx.betterend.recipe.builders.InfusionRecipe; import java.util.Collections; import java.util.Optional; @@ -22,7 +23,7 @@ public class REIInfusionDisplay extends BasicDisplay implements SimpleGridMenuDi super( EntryIngredients.ofIngredients(recipe.getIngredients()), Collections.singletonList(EntryIngredients.of(recipe.getResultItem())) - ); + ); this.recipe = recipe; this.time = recipe.getInfusionTime(); } diff --git a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java index edccc261..ff416df1 100644 --- a/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java +++ b/src/main/java/org/betterx/betterend/integration/rei/REIPlugin.java @@ -1,5 +1,13 @@ package org.betterx.betterend.integration.rei; +import org.betterx.bclib.blocks.BaseFurnaceBlock; +import org.betterx.bclib.recipes.AnvilRecipe; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.basis.EndAnvilBlock; +import org.betterx.betterend.recipe.builders.AlloyingRecipe; +import org.betterx.betterend.recipe.builders.InfusionRecipe; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.BlastingRecipe; @@ -19,13 +27,6 @@ import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.plugin.common.BuiltinPlugin; -import org.betterx.bclib.blocks.BaseFurnaceBlock; -import org.betterx.bclib.recipes.AnvilRecipe; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.basis.EndAnvilBlock; -import org.betterx.betterend.recipe.builders.AlloyingRecipe; -import org.betterx.betterend.recipe.builders.InfusionRecipe; -import org.betterx.betterend.registry.EndBlocks; import java.util.Collections; import java.util.List; @@ -38,19 +39,19 @@ public class REIPlugin implements REIClientPlugin { public final static CategoryIdentifier ALLOYING_FUEL = CategoryIdentifier.of( BetterEnd.MOD_ID, "alloying_fuel" - ); + ); public final static CategoryIdentifier ALLOYING = CategoryIdentifier.of( BetterEnd.MOD_ID, AlloyingRecipe.GROUP - ); + ); public final static CategoryIdentifier SMITHING = CategoryIdentifier.of( BetterEnd.MOD_ID, AnvilRecipe.ID.getPath() - ); + ); public final static CategoryIdentifier INFUSION = CategoryIdentifier.of( BetterEnd.MOD_ID, InfusionRecipe.GROUP - ); + ); @Override public void registerDisplays(DisplayRegistry registry) { @@ -90,7 +91,7 @@ public class REIPlugin implements REIClientPlugin { new REIAlloyingCategory(endStoneSmelter), new REIInfusionCategory(infusionRitual), new REIAnvilCategory(anvilsArray) - ); + ); registry.addWorkstations(ALLOYING_FUEL, endStoneSmelter); registry.addWorkstations(ALLOYING, endStoneSmelter); diff --git a/src/main/java/org/betterx/betterend/interfaces/MultiModelItem.java b/src/main/java/org/betterx/betterend/interfaces/MultiModelItem.java index f0cda2f5..360deb1f 100644 --- a/src/main/java/org/betterx/betterend/interfaces/MultiModelItem.java +++ b/src/main/java/org/betterx/betterend/interfaces/MultiModelItem.java @@ -1,10 +1,10 @@ package org.betterx.betterend.interfaces; +import org.betterx.betterend.registry.EndItems; + import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.registry.EndItems; - public interface MultiModelItem { @Environment(EnvType.CLIENT) void registerModelPredicate(); diff --git a/src/main/java/org/betterx/betterend/item/ArmoredElytra.java b/src/main/java/org/betterx/betterend/item/ArmoredElytra.java index 01ec6aeb..5d66479b 100644 --- a/src/main/java/org/betterx/betterend/item/ArmoredElytra.java +++ b/src/main/java/org/betterx/betterend/item/ArmoredElytra.java @@ -1,5 +1,11 @@ package org.betterx.betterend.item; +import org.betterx.bclib.items.BaseArmorItem; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.interfaces.FallFlyingItem; +import org.betterx.betterend.interfaces.MultiModelItem; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.ai.attributes.AttributeModifier; @@ -10,12 +16,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; -import org.betterx.bclib.items.BaseArmorItem; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.interfaces.FallFlyingItem; -import org.betterx.betterend.interfaces.MultiModelItem; -import org.betterx.betterend.registry.EndItems; - public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, FallFlyingItem { private final ResourceLocation wingTexture; private final Item repairItem; @@ -23,12 +23,14 @@ public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, Fall private final float toughness; private final int defense; - public ArmoredElytra(String name, - ArmorMaterial material, - Item repairItem, - int durability, - double movementFactor, - boolean fireproof) { + public ArmoredElytra( + String name, + ArmorMaterial material, + Item repairItem, + int durability, + double movementFactor, + boolean fireproof + ) { super( material, EquipmentSlot.CHEST, @@ -37,7 +39,7 @@ public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, Fall .durability(durability) .rarity(Rarity.EPIC) .fireResistant() : EndItems.makeEndItemSettings().durability(durability).rarity(Rarity.EPIC) - ); + ); this.wingTexture = BetterEnd.makeID("textures/entity/" + name + ".png"); this.repairItem = repairItem; this.movementFactor = movementFactor; @@ -45,20 +47,22 @@ public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, Fall this.toughness = material.getToughness() / 1.75F; addAttributeModifier( Attributes.ARMOR, - new AttributeModifier(ARMOR_MODIFIER_UUID_PER_SLOT[2], - "Armor modifier", - defense, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + ARMOR_MODIFIER_UUID_PER_SLOT[2], + "Armor modifier", + defense, + AttributeModifier.Operation.ADDITION ) - ); + ); addAttributeModifier( Attributes.ARMOR_TOUGHNESS, - new AttributeModifier(ARMOR_MODIFIER_UUID_PER_SLOT[2], - "Armor toughness", - toughness, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + ARMOR_MODIFIER_UUID_PER_SLOT[2], + "Armor toughness", + toughness, + AttributeModifier.Operation.ADDITION ) - ); + ); } @Override @@ -94,6 +98,6 @@ public class ArmoredElytra extends BaseArmorItem implements MultiModelItem, Fall this, new ResourceLocation("broken"), (itemStack, clientLevel, livingEntity, id) -> ElytraItem.isFlyEnabled(itemStack) ? 0.0F : 1.0F - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteArmor.java b/src/main/java/org/betterx/betterend/item/CrystaliteArmor.java index 6a138c13..8e1df1ea 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteArmor.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteArmor.java @@ -1,5 +1,9 @@ package org.betterx.betterend.item; +import org.betterx.bclib.items.BaseArmorItem; +import org.betterx.betterend.effects.EndStatusEffects; +import org.betterx.betterend.item.material.EndArmorMaterial; + import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; @@ -9,10 +13,6 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; -import org.betterx.bclib.items.BaseArmorItem; -import org.betterx.betterend.effects.EndStatusEffects; -import org.betterx.betterend.item.material.EndArmorMaterial; - public class CrystaliteArmor extends BaseArmorItem { public final static MutableComponent CHEST_DESC; diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteBoots.java b/src/main/java/org/betterx/betterend/item/CrystaliteBoots.java index a8640b86..0b889317 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteBoots.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteBoots.java @@ -1,5 +1,9 @@ package org.betterx.betterend.item; +import org.betterx.betterend.effects.EndStatusEffects; +import org.betterx.betterend.interfaces.MobEffectApplier; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.network.chat.Component; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.EquipmentSlot; @@ -12,10 +16,6 @@ import net.minecraft.world.level.Level; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.effects.EndStatusEffects; -import org.betterx.betterend.interfaces.MobEffectApplier; -import org.betterx.betterend.registry.EndItems; - import java.util.List; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteChestplate.java b/src/main/java/org/betterx/betterend/item/CrystaliteChestplate.java index 81969d47..ee8042af 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteChestplate.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteChestplate.java @@ -1,5 +1,9 @@ package org.betterx.betterend.item; +import org.betterx.betterend.effects.EndStatusEffects; +import org.betterx.betterend.interfaces.MobEffectApplier; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.network.chat.Component; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.EquipmentSlot; @@ -12,10 +16,6 @@ import net.minecraft.world.level.Level; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.effects.EndStatusEffects; -import org.betterx.betterend.interfaces.MobEffectApplier; -import org.betterx.betterend.registry.EndItems; - import java.util.List; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java b/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java index 55d606e7..c59ac88d 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteElytra.java @@ -1,5 +1,10 @@ package org.betterx.betterend.item; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.interfaces.FallFlyingItem; +import org.betterx.betterend.interfaces.MultiModelItem; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.ai.attributes.AttributeModifier; @@ -12,11 +17,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.object.builder.v1.client.model.FabricModelPredicateProviderRegistry; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.interfaces.FallFlyingItem; -import org.betterx.betterend.interfaces.MultiModelItem; -import org.betterx.betterend.registry.EndItems; - public class CrystaliteElytra extends CrystaliteArmor implements MultiModelItem, FallFlyingItem { private final ResourceLocation wingTexture; @@ -32,20 +32,22 @@ public class CrystaliteElytra extends CrystaliteArmor implements MultiModelItem, this.toughness = material.getToughness() / 1.75F; addAttributeModifier( Attributes.ARMOR, - new AttributeModifier(ARMOR_MODIFIER_UUID_PER_SLOT[2], - "Armor modifier", - defense, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + ARMOR_MODIFIER_UUID_PER_SLOT[2], + "Armor modifier", + defense, + AttributeModifier.Operation.ADDITION ) - ); + ); addAttributeModifier( Attributes.ARMOR_TOUGHNESS, - new AttributeModifier(ARMOR_MODIFIER_UUID_PER_SLOT[2], - "Armor toughness", - toughness, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + ARMOR_MODIFIER_UUID_PER_SLOT[2], + "Armor toughness", + toughness, + AttributeModifier.Operation.ADDITION ) - ); + ); } @Override @@ -80,6 +82,6 @@ public class CrystaliteElytra extends CrystaliteArmor implements MultiModelItem, this, new ResourceLocation("broken"), (itemStack, clientLevel, livingEntity, i) -> ElytraItem.isFlyEnabled(itemStack) ? 0.0F : 1.0F - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteHelmet.java b/src/main/java/org/betterx/betterend/item/CrystaliteHelmet.java index 3c6ec876..c7e28778 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteHelmet.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteHelmet.java @@ -1,12 +1,12 @@ package org.betterx.betterend.item; +import org.betterx.betterend.registry.EndAttributes; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.item.Rarity; -import org.betterx.betterend.registry.EndAttributes; -import org.betterx.betterend.registry.EndItems; - import java.util.UUID; public class CrystaliteHelmet extends CrystaliteArmor { @@ -17,6 +17,6 @@ public class CrystaliteHelmet extends CrystaliteArmor { addAttributeModifier( EndAttributes.BLINDNESS_RESISTANCE, new AttributeModifier(uuid, "Helmet blindness resistance", 1.0, AttributeModifier.Operation.ADDITION) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/item/CrystaliteLeggings.java b/src/main/java/org/betterx/betterend/item/CrystaliteLeggings.java index b6e61bc2..005ab32b 100644 --- a/src/main/java/org/betterx/betterend/item/CrystaliteLeggings.java +++ b/src/main/java/org/betterx/betterend/item/CrystaliteLeggings.java @@ -1,12 +1,12 @@ package org.betterx.betterend.item; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.Rarity; -import org.betterx.betterend.registry.EndItems; - import java.util.UUID; public class CrystaliteLeggings extends CrystaliteArmor { @@ -17,6 +17,6 @@ public class CrystaliteLeggings extends CrystaliteArmor { addAttributeModifier( Attributes.MAX_HEALTH, new AttributeModifier(uuid, "Armor health boost", 4.0, AttributeModifier.Operation.ADDITION) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/item/EnchantedItem.java b/src/main/java/org/betterx/betterend/item/EnchantedItem.java index 20e63f35..33ec8191 100644 --- a/src/main/java/org/betterx/betterend/item/EnchantedItem.java +++ b/src/main/java/org/betterx/betterend/item/EnchantedItem.java @@ -1,5 +1,9 @@ package org.betterx.betterend.item; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.items.ModelProviderItem; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; @@ -10,10 +14,6 @@ import net.minecraft.world.item.Rarity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.items.ModelProviderItem; -import org.betterx.betterend.registry.EndItems; - public class EnchantedItem extends ModelProviderItem { private final Item source; diff --git a/src/main/java/org/betterx/betterend/item/EndArmorItem.java b/src/main/java/org/betterx/betterend/item/EndArmorItem.java index 4dd48fca..1147de7b 100644 --- a/src/main/java/org/betterx/betterend/item/EndArmorItem.java +++ b/src/main/java/org/betterx/betterend/item/EndArmorItem.java @@ -1,5 +1,7 @@ package org.betterx.betterend.item; +import org.betterx.bclib.interfaces.ItemModelProvider; + import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; @@ -9,7 +11,6 @@ import net.minecraft.world.item.ArmorMaterial; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; -import org.betterx.bclib.interfaces.ItemModelProvider; import java.util.UUID; @@ -31,20 +32,21 @@ public class EndArmorItem extends ArmorItem implements ItemModelProvider { addAttributeModifier( Attributes.ARMOR, new AttributeModifier(uuid, "Armor modifier", getDefense(), AttributeModifier.Operation.ADDITION) - ); + ); addAttributeModifier( Attributes.ARMOR_TOUGHNESS, new AttributeModifier(uuid, "Armor toughness", getToughness(), AttributeModifier.Operation.ADDITION) - ); + ); if (knockbackResistance > 0.0F) { addAttributeModifier( Attributes.KNOCKBACK_RESISTANCE, - new AttributeModifier(uuid, - "Armor knockback resistance", - knockbackResistance, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + uuid, + "Armor knockback resistance", + knockbackResistance, + AttributeModifier.Operation.ADDITION ) - ); + ); } } diff --git a/src/main/java/org/betterx/betterend/item/EndBucketItem.java b/src/main/java/org/betterx/betterend/item/EndBucketItem.java index f60bb88a..ca873727 100644 --- a/src/main/java/org/betterx/betterend/item/EndBucketItem.java +++ b/src/main/java/org/betterx/betterend/item/EndBucketItem.java @@ -1,13 +1,13 @@ package org.betterx.betterend.item; +import org.betterx.bclib.interfaces.ItemModelProvider; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.sounds.SoundEvents; import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.MobBucketItem; import net.minecraft.world.level.material.Fluids; -import org.betterx.bclib.interfaces.ItemModelProvider; -import org.betterx.betterend.registry.EndItems; - public class EndBucketItem extends MobBucketItem implements ItemModelProvider { public EndBucketItem(EntityType type) { super(type, Fluids.WATER, SoundEvents.BUCKET_EMPTY, EndItems.makeEndItemSettings().stacksTo(1)); diff --git a/src/main/java/org/betterx/betterend/item/EternalCrystalItem.java b/src/main/java/org/betterx/betterend/item/EternalCrystalItem.java index 7323479a..2385a398 100644 --- a/src/main/java/org/betterx/betterend/item/EternalCrystalItem.java +++ b/src/main/java/org/betterx/betterend/item/EternalCrystalItem.java @@ -1,10 +1,10 @@ package org.betterx.betterend.item; -import net.minecraft.world.item.Rarity; - import org.betterx.bclib.items.ModelProviderItem; import org.betterx.betterend.registry.EndItems; +import net.minecraft.world.item.Rarity; + public class EternalCrystalItem extends ModelProviderItem { public EternalCrystalItem() { super(EndItems.makeEndItemSettings().stacksTo(16).rarity(Rarity.EPIC)); diff --git a/src/main/java/org/betterx/betterend/item/GuideBookItem.java b/src/main/java/org/betterx/betterend/item/GuideBookItem.java index a833c026..cf820b4d 100644 --- a/src/main/java/org/betterx/betterend/item/GuideBookItem.java +++ b/src/main/java/org/betterx/betterend/item/GuideBookItem.java @@ -1,5 +1,10 @@ package org.betterx.betterend.item; +import org.betterx.bclib.items.ModelProviderItem; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndItems; +import org.betterx.betterend.util.LangUtil; + import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -12,11 +17,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; -import org.betterx.bclib.items.ModelProviderItem; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndItems; -import org.betterx.betterend.util.LangUtil; - import java.util.List; public class GuideBookItem extends ModelProviderItem { diff --git a/src/main/java/org/betterx/betterend/item/material/EndArmorMaterial.java b/src/main/java/org/betterx/betterend/item/material/EndArmorMaterial.java index d638f1b7..e5a0206f 100644 --- a/src/main/java/org/betterx/betterend/item/material/EndArmorMaterial.java +++ b/src/main/java/org/betterx/betterend/item/material/EndArmorMaterial.java @@ -1,5 +1,8 @@ package org.betterx.betterend.item.material; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.util.LazyLoadedValue; @@ -7,9 +10,6 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ArmorMaterial; import net.minecraft.world.item.crafting.Ingredient; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - import java.util.function.Supplier; public enum EndArmorMaterial implements ArmorMaterial { @@ -35,14 +35,16 @@ public enum EndArmorMaterial implements ArmorMaterial { private final LazyLoadedValue repairIngredient; @SuppressWarnings("deprecation") - EndArmorMaterial(String name, - int durabilityMultiplier, - int[] protectionAmounts, - int enchantability, - SoundEvent equipSound, - float toughness, - float knockbackResistance, - Supplier repairIngredient) { + EndArmorMaterial( + String name, + int durabilityMultiplier, + int[] protectionAmounts, + int enchantability, + SoundEvent equipSound, + float toughness, + float knockbackResistance, + Supplier repairIngredient + ) { this.name = name; this.durabilityMultiplier = durabilityMultiplier; this.protectionAmounts = protectionAmounts; diff --git a/src/main/java/org/betterx/betterend/item/material/EndToolMaterial.java b/src/main/java/org/betterx/betterend/item/material/EndToolMaterial.java index 4a026fa9..a401874b 100644 --- a/src/main/java/org/betterx/betterend/item/material/EndToolMaterial.java +++ b/src/main/java/org/betterx/betterend/item/material/EndToolMaterial.java @@ -1,12 +1,12 @@ package org.betterx.betterend.item.material; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.util.LazyLoadedValue; import net.minecraft.world.item.Tier; import net.minecraft.world.item.crafting.Ingredient; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - import java.util.function.Supplier; public enum EndToolMaterial implements Tier { @@ -27,12 +27,14 @@ public enum EndToolMaterial implements Tier { private final LazyLoadedValue repairIngredient; @SuppressWarnings("deprecation") - EndToolMaterial(int miningLevel, - int durability, - float miningSpeed, - float attackDamage, - int enchantability, - Supplier repairIngredient) { + EndToolMaterial( + int miningLevel, + int durability, + float miningSpeed, + float attackDamage, + int enchantability, + Supplier repairIngredient + ) { this.durability = durability; this.miningSpeed = miningSpeed; this.attackDamage = attackDamage; diff --git a/src/main/java/org/betterx/betterend/item/model/ArmoredElytraModel.java b/src/main/java/org/betterx/betterend/item/model/ArmoredElytraModel.java index 3a757d7d..f287d145 100644 --- a/src/main/java/org/betterx/betterend/item/model/ArmoredElytraModel.java +++ b/src/main/java/org/betterx/betterend/item/model/ArmoredElytraModel.java @@ -25,13 +25,13 @@ public class ArmoredElytraModel extends AgeableListModel PartNames.LEFT_WING, CubeListBuilder.create().texOffs(22, 0).addBox(-10.0f, 0.0f, 0.0f, 10.0f, 20.0f, 2.0f), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( PartNames.RIGHT_WING, CubeListBuilder.create().mirror().texOffs(22, 0).addBox(0.0f, 0.0f, 0.0f, 10.0f, 20.0f, 2.0f), PartPose.ZERO - ); + ); return LayerDefinition.create(modelData, 64, 32); } diff --git a/src/main/java/org/betterx/betterend/item/model/CrystaliteArmorProvider.java b/src/main/java/org/betterx/betterend/item/model/CrystaliteArmorProvider.java index 7ec4e088..dc24ec7a 100644 --- a/src/main/java/org/betterx/betterend/item/model/CrystaliteArmorProvider.java +++ b/src/main/java/org/betterx/betterend/item/model/CrystaliteArmorProvider.java @@ -1,5 +1,8 @@ package org.betterx.betterend.item.model; +import org.betterx.betterend.item.CrystaliteArmor; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.resources.ResourceLocation; @@ -12,8 +15,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import com.google.common.collect.Lists; -import org.betterx.betterend.item.CrystaliteArmor; -import org.betterx.betterend.registry.EndItems; import shadow.fabric.api.client.rendering.v1.ArmorRenderingRegistry; import org.jetbrains.annotations.NotNull; @@ -33,22 +34,26 @@ public class CrystaliteArmorProvider implements ArmorRenderingRegistry.ModelProv private final static CrystaliteBootsModel BOOTS_MODEL = CrystaliteBootsModel.createModel(null); //@Override - public @NotNull ResourceLocation getArmorTexture(LivingEntity entity, - ItemStack stack, - EquipmentSlot slot, - boolean secondLayer, - @Nullable String suffix, - ResourceLocation defaultTexture) { + public @NotNull ResourceLocation getArmorTexture( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + boolean secondLayer, + @Nullable String suffix, + ResourceLocation defaultTexture + ) { if (!isStackValid(stack)) return defaultTexture; if (secondLayer) return SECOND_LAYER; return FIRST_LAYER; } //@Override - public @NotNull HumanoidModel getArmorModel(LivingEntity entity, - ItemStack stack, - EquipmentSlot slot, - HumanoidModel defaultModel) { + public @NotNull HumanoidModel getArmorModel( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + HumanoidModel defaultModel + ) { if (!isStackValid(stack)) return defaultModel; switch (slot) { case HEAD: { @@ -83,7 +88,7 @@ public class CrystaliteArmorProvider implements ArmorRenderingRegistry.ModelProv EndItems.CRYSTALITE_ELYTRA, EndItems.CRYSTALITE_LEGGINGS, EndItems.CRYSTALITE_BOOTS - ); + ); } private boolean isStackValid(ItemStack stack) { diff --git a/src/main/java/org/betterx/betterend/item/model/CrystaliteBootsModel.java b/src/main/java/org/betterx/betterend/item/model/CrystaliteBootsModel.java index 1f2d3ebe..3b95678f 100644 --- a/src/main/java/org/betterx/betterend/item/model/CrystaliteBootsModel.java +++ b/src/main/java/org/betterx/betterend/item/model/CrystaliteBootsModel.java @@ -1,5 +1,7 @@ package org.betterx.betterend.item.model; +import org.betterx.betterend.registry.EndEntitiesRenders; + import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; @@ -9,7 +11,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.world.entity.LivingEntity; import com.google.common.collect.Lists; -import org.betterx.betterend.registry.EndEntitiesRenders; import java.util.Collections; @@ -39,22 +40,22 @@ public class CrystaliteBootsModel extends HumanoidModel { "leftBoot", CubeListBuilder.create().texOffs(0, 32).addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(1.9f, 12.0f, 0.0f) - ); + ); modelPartData.addOrReplaceChild( "rightBoot", CubeListBuilder.create().texOffs(0, 16).addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(-1.9f, 12.0f, 0.0f) - ); + ); return LayerDefinition.create(modelData, 64, 48); } public static CrystaliteBootsModel createModel(EntityModelSet entityModelSet) { return new CrystaliteBootsModel(entityModelSet == null - ? getTexturedModelData().bakeRoot() - : entityModelSet.bakeLayer( - EndEntitiesRenders.CRYSTALITE_BOOTS)); + ? getTexturedModelData().bakeRoot() + : entityModelSet.bakeLayer( + EndEntitiesRenders.CRYSTALITE_BOOTS)); } public CrystaliteBootsModel(ModelPart modelPart) { diff --git a/src/main/java/org/betterx/betterend/item/model/CrystaliteChestplateModel.java b/src/main/java/org/betterx/betterend/item/model/CrystaliteChestplateModel.java index 8140757d..a32f2dcf 100644 --- a/src/main/java/org/betterx/betterend/item/model/CrystaliteChestplateModel.java +++ b/src/main/java/org/betterx/betterend/item/model/CrystaliteChestplateModel.java @@ -1,5 +1,8 @@ package org.betterx.betterend.item.model; +import org.betterx.betterend.registry.EndEntitiesRenders; + +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; @@ -11,8 +14,6 @@ import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.entity.LivingEntity; import com.google.common.collect.Lists; -import com.mojang.blaze3d.vertex.PoseStack; -import org.betterx.betterend.registry.EndEntitiesRenders; import java.util.Collections; @@ -50,7 +51,7 @@ public class CrystaliteChestplateModel extends HumanoidModel { PartNames.BODY, CubeListBuilder.create().texOffs(16, 16).addBox(-4.0f, 0.0f, -2.0f, 8.0f, 12.0f, 4.0f, deformation), PartPose.ZERO - ); + ); if (thinArms) { deformation = new CubeDeformation(scale + 0.45F); @@ -61,7 +62,7 @@ public class CrystaliteChestplateModel extends HumanoidModel { .texOffs(40, 32) .addBox(-1.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(5.0f, 2.0f, 0.0f) - ); + ); PartDefinition rightShoulder = modelPartData.addOrReplaceChild( "rightShoulder", @@ -69,7 +70,7 @@ public class CrystaliteChestplateModel extends HumanoidModel { .texOffs(40, 16) .addBox(-3.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(-5.0f, 2.0f, 10.0f) - ); + ); } else { deformation = new CubeDeformation(scale + 0.45F); PartDefinition leftShoulder = modelPartData.addOrReplaceChild( @@ -79,7 +80,7 @@ public class CrystaliteChestplateModel extends HumanoidModel { .texOffs(40, 32) .addBox(-1.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(5.0f, 2.0f, 0.0f) - ); + ); PartDefinition rightShoulder = modelPartData.addOrReplaceChild( "rightShoulder", @@ -87,7 +88,7 @@ public class CrystaliteChestplateModel extends HumanoidModel { .texOffs(40, 16) .addBox(-3.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(-5.0f, 2.0f, 10.0f) - ); + ); } return LayerDefinition.create(modelData, 64, 48); } @@ -95,19 +96,23 @@ public class CrystaliteChestplateModel extends HumanoidModel { final ModelPart localBody; public static CrystaliteChestplateModel createRegularModel(EntityModelSet entityModelSet) { - return new CrystaliteChestplateModel(entityModelSet == null - ? getRegularTexturedModelData().bakeRoot() - : entityModelSet - .bakeLayer(EndEntitiesRenders.CRYSTALITE_CHESTPLATE), - false); + return new CrystaliteChestplateModel( + entityModelSet == null + ? getRegularTexturedModelData().bakeRoot() + : entityModelSet + .bakeLayer(EndEntitiesRenders.CRYSTALITE_CHESTPLATE), + false + ); } public static CrystaliteChestplateModel createThinModel(EntityModelSet entityModelSet) { - return new CrystaliteChestplateModel(entityModelSet == null - ? getThinTexturedModelData().bakeRoot() - : entityModelSet - .bakeLayer(EndEntitiesRenders.CRYSTALITE_CHESTPLATE_THIN), - true); + return new CrystaliteChestplateModel( + entityModelSet == null + ? getThinTexturedModelData().bakeRoot() + : entityModelSet + .bakeLayer(EndEntitiesRenders.CRYSTALITE_CHESTPLATE_THIN), + true + ); } protected CrystaliteChestplateModel(ModelPart modelPart, boolean thinArms) { diff --git a/src/main/java/org/betterx/betterend/item/model/CrystaliteHelmetModel.java b/src/main/java/org/betterx/betterend/item/model/CrystaliteHelmetModel.java index 63e091fc..5001d78a 100644 --- a/src/main/java/org/betterx/betterend/item/model/CrystaliteHelmetModel.java +++ b/src/main/java/org/betterx/betterend/item/model/CrystaliteHelmetModel.java @@ -1,5 +1,7 @@ package org.betterx.betterend.item.model; +import org.betterx.betterend.registry.EndEntitiesRenders; + import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; @@ -13,7 +15,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import com.google.common.collect.Lists; -import org.betterx.betterend.registry.EndEntitiesRenders; import java.util.Collections; @@ -42,16 +43,16 @@ public class CrystaliteHelmetModel extends HumanoidModel { PartNames.HAT, CubeListBuilder.create().texOffs(0, 0).addBox(-4.0f, -8.0f, -4.0f, 8.0f, 8.0f, 8.0f, deformation_hat), PartPose.ZERO - ); + ); return LayerDefinition.create(modelData, 64, 48); } public static CrystaliteHelmetModel createModel(EntityModelSet entityModelSet) { return new CrystaliteHelmetModel(entityModelSet == null - ? getTexturedModelData().bakeRoot() - : entityModelSet.bakeLayer( - EndEntitiesRenders.CRYSTALITE_HELMET)); + ? getTexturedModelData().bakeRoot() + : entityModelSet.bakeLayer( + EndEntitiesRenders.CRYSTALITE_HELMET)); } diff --git a/src/main/java/org/betterx/betterend/item/model/CrystaliteLeggingsModel.java b/src/main/java/org/betterx/betterend/item/model/CrystaliteLeggingsModel.java index 3945c3a0..6c2e2e2c 100644 --- a/src/main/java/org/betterx/betterend/item/model/CrystaliteLeggingsModel.java +++ b/src/main/java/org/betterx/betterend/item/model/CrystaliteLeggingsModel.java @@ -1,5 +1,7 @@ package org.betterx.betterend.item.model; +import org.betterx.betterend.registry.EndEntitiesRenders; + import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.geom.EntityModelSet; import net.minecraft.client.model.geom.ModelPart; @@ -10,7 +12,6 @@ import net.minecraft.client.renderer.RenderType; import net.minecraft.world.entity.LivingEntity; import com.google.common.collect.Lists; -import org.betterx.betterend.registry.EndEntitiesRenders; import java.util.Collections; @@ -36,19 +37,19 @@ public class CrystaliteLeggingsModel extends HumanoidModel { PartNames.BODY, CubeListBuilder.create().texOffs(16, 16).addBox(-4.0f, 0.0f, -2.0f, 8.0f, 12.0f, 4.0f, deformation), PartPose.ZERO - ); + ); modelPartData.addOrReplaceChild( PartNames.LEFT_LEG, CubeListBuilder.create().texOffs(0, 32).addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(1.9f, 12.0f, 0.0f) - ); + ); modelPartData.addOrReplaceChild( PartNames.RIGHT_LEG, CubeListBuilder.create().texOffs(0, 16).addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation), PartPose.offset(-1.9f, 12.0f, 0.0f) - ); + ); return LayerDefinition.create(modelData, 64, 48); } @@ -59,9 +60,9 @@ public class CrystaliteLeggingsModel extends HumanoidModel { public static CrystaliteLeggingsModel createModel(EntityModelSet entityModelSet) { return new CrystaliteLeggingsModel(entityModelSet == null - ? getTexturedModelData().bakeRoot() - : entityModelSet.bakeLayer( - EndEntitiesRenders.CRYSTALITE_LEGGINGS)); + ? getTexturedModelData().bakeRoot() + : entityModelSet.bakeLayer( + EndEntitiesRenders.CRYSTALITE_LEGGINGS)); } public CrystaliteLeggingsModel(ModelPart modelPart) { diff --git a/src/main/java/org/betterx/betterend/item/tool/EndHammerItem.java b/src/main/java/org/betterx/betterend/item/tool/EndHammerItem.java index baa3e13b..0343e1f4 100644 --- a/src/main/java/org/betterx/betterend/item/tool/EndHammerItem.java +++ b/src/main/java/org/betterx/betterend/item/tool/EndHammerItem.java @@ -1,5 +1,12 @@ package org.betterx.betterend.item.tool; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.api.v2.tag.CommonItemTags; +import org.betterx.bclib.client.models.ModelsHelper; +import org.betterx.bclib.interfaces.ItemModelProvider; +import org.betterx.bclib.interfaces.TagProvider; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; @@ -27,12 +34,6 @@ import net.fabricmc.api.Environment; import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.ImmutableMultimap.Builder; import com.google.common.collect.Multimap; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.api.v2.tag.CommonItemTags; -import org.betterx.bclib.client.models.ModelsHelper; -import org.betterx.bclib.interfaces.ItemModelProvider; -import org.betterx.bclib.interfaces.TagProvider; -import org.betterx.bclib.util.MHelper; import java.util.List; import java.util.UUID; @@ -48,28 +49,31 @@ public class EndHammerItem extends DiggerItem implements ItemModelProvider, TagP Builder builder = ImmutableMultimap.builder(); builder.put( Attributes.ATTACK_DAMAGE, - new AttributeModifier(BASE_ATTACK_DAMAGE_UUID, - "Weapon modifier", - attackDamage + material.getAttackDamageBonus(), - AttributeModifier.Operation.ADDITION + new AttributeModifier( + BASE_ATTACK_DAMAGE_UUID, + "Weapon modifier", + attackDamage + material.getAttackDamageBonus(), + AttributeModifier.Operation.ADDITION ) - ); + ); builder.put( Attributes.ATTACK_SPEED, - new AttributeModifier(BASE_ATTACK_SPEED_UUID, - "Weapon modifier", - attackSpeed, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + BASE_ATTACK_SPEED_UUID, + "Weapon modifier", + attackSpeed, + AttributeModifier.Operation.ADDITION ) - ); + ); builder.put( Attributes.ATTACK_KNOCKBACK, - new AttributeModifier(ATTACK_KNOCKBACK_MODIFIER_ID, - "Weapon modifier", - knockback, - AttributeModifier.Operation.ADDITION + new AttributeModifier( + ATTACK_KNOCKBACK_MODIFIER_ID, + "Weapon modifier", + knockback, + AttributeModifier.Operation.ADDITION ) - ); + ); this.attributeModifiers = builder.build(); } diff --git a/src/main/java/org/betterx/betterend/item/tool/EndPickaxe.java b/src/main/java/org/betterx/betterend/item/tool/EndPickaxe.java index 7213121e..7ff99127 100644 --- a/src/main/java/org/betterx/betterend/item/tool/EndPickaxe.java +++ b/src/main/java/org/betterx/betterend/item/tool/EndPickaxe.java @@ -1,12 +1,12 @@ package org.betterx.betterend.item.tool; +import org.betterx.bclib.items.tool.BasePickaxeItem; + import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Tier; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.items.tool.BasePickaxeItem; - public class EndPickaxe extends BasePickaxeItem { public EndPickaxe(Tier material, int attackDamage, float attackSpeed, Properties settings) { super(material, attackDamage, attackSpeed, settings); diff --git a/src/main/java/org/betterx/betterend/mixin/client/ArmorStandRendererMixin.java b/src/main/java/org/betterx/betterend/mixin/client/ArmorStandRendererMixin.java index 54a71f35..67e267e4 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/ArmorStandRendererMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/ArmorStandRendererMixin.java @@ -1,12 +1,13 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.client.render.ArmoredElytraLayer; + import net.minecraft.client.model.ArmorStandArmorModel; import net.minecraft.client.renderer.entity.ArmorStandRenderer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.world.entity.decoration.ArmorStand; -import org.betterx.betterend.client.render.ArmoredElytraLayer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/org/betterx/betterend/mixin/client/BiomeColorsMixin.java b/src/main/java/org/betterx/betterend/mixin/client/BiomeColorsMixin.java index 342224cc..af1b3fbd 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/BiomeColorsMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/BiomeColorsMixin.java @@ -1,5 +1,10 @@ package org.betterx.betterend.mixin.client; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.client.ClientOptions; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BiomeColors; import net.minecraft.core.BlockPos; @@ -8,10 +13,6 @@ import net.minecraft.world.level.BlockAndTintGetter; import net.fabricmc.loader.api.FabricLoader; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.client.ClientOptions; -import org.betterx.betterend.registry.EndBlocks; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/org/betterx/betterend/mixin/client/CapeLayerMixin.java b/src/main/java/org/betterx/betterend/mixin/client/CapeLayerMixin.java index e4e92128..08a09fb7 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/CapeLayerMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/CapeLayerMixin.java @@ -1,13 +1,14 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.item.ArmoredElytra; + +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.layers.CapeLayer; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ItemStack; -import com.mojang.blaze3d.vertex.PoseStack; -import org.betterx.betterend.item.ArmoredElytra; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -17,17 +18,19 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; public class CapeLayerMixin { @Inject(method = "render", at = @At("HEAD"), cancellable = true) - public void be_checkCustomElytra(PoseStack poseStack, - MultiBufferSource multiBufferSource, - int i, - AbstractClientPlayer abstractClientPlayer, - float f, - float g, - float h, - float j, - float k, - float l, - CallbackInfo info) { + public void be_checkCustomElytra( + PoseStack poseStack, + MultiBufferSource multiBufferSource, + int i, + AbstractClientPlayer abstractClientPlayer, + float f, + float g, + float h, + float j, + float k, + float l, + CallbackInfo info + ) { ItemStack itemStack = abstractClientPlayer.getItemBySlot(EquipmentSlot.CHEST); if (itemStack.getItem() instanceof ArmoredElytra) { info.cancel(); diff --git a/src/main/java/org/betterx/betterend/mixin/client/EndEffectsMixin.java b/src/main/java/org/betterx/betterend/mixin/client/EndEffectsMixin.java index 368d151a..eddd4405 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/EndEffectsMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/EndEffectsMixin.java @@ -1,9 +1,10 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.integration.Integrations; + import net.minecraft.client.renderer.DimensionSpecialEffects.EndEffects; import net.minecraft.world.phys.Vec3; -import org.betterx.betterend.integration.Integrations; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/org/betterx/betterend/mixin/client/HumanoidMobRendererMixin.java b/src/main/java/org/betterx/betterend/mixin/client/HumanoidMobRendererMixin.java index b84492a2..c509585b 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/HumanoidMobRendererMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/HumanoidMobRendererMixin.java @@ -1,12 +1,13 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.client.render.ArmoredElytraLayer; + import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.HumanoidMobRenderer; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.world.entity.Mob; -import org.betterx.betterend.client.render.ArmoredElytraLayer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -20,13 +21,15 @@ public abstract class HumanoidMobRendererMixin(this, context.getModelSet())); } } diff --git a/src/main/java/org/betterx/betterend/mixin/client/ItemStackMixin.java b/src/main/java/org/betterx/betterend/mixin/client/ItemStackMixin.java index 8a062f9a..f43b7fc8 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/ItemStackMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/ItemStackMixin.java @@ -1,11 +1,12 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.events.ItemTooltipCallback; + import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import org.betterx.betterend.events.ItemTooltipCallback; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -16,9 +17,11 @@ import java.util.List; @Mixin(ItemStack.class) public class ItemStackMixin { @Inject(method = "getTooltipLines", at = @At("RETURN")) - private void be_getTooltip(Player entity, - TooltipFlag tooltipContext, - CallbackInfoReturnable> info) { + private void be_getTooltip( + Player entity, + TooltipFlag tooltipContext, + CallbackInfoReturnable> info + ) { ItemTooltipCallback.EVENT.invoker() .getTooltip(entity, ItemStack.class.cast(this), tooltipContext, info.getReturnValue()); } diff --git a/src/main/java/org/betterx/betterend/mixin/client/LocalPlayerMixin.java b/src/main/java/org/betterx/betterend/mixin/client/LocalPlayerMixin.java index 69036a63..1857f1e9 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/LocalPlayerMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/LocalPlayerMixin.java @@ -1,5 +1,8 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.interfaces.FallFlyingItem; + +import com.mojang.authlib.GameProfile; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.client.player.AbstractClientPlayer; @@ -10,8 +13,6 @@ import net.minecraft.world.entity.player.ProfilePublicKey; import net.minecraft.world.item.ElytraItem; import net.minecraft.world.item.ItemStack; -import com.mojang.authlib.GameProfile; -import org.betterx.betterend.interfaces.FallFlyingItem; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -28,9 +29,11 @@ public abstract class LocalPlayerMixin extends AbstractClientPlayer { @Shadow public ClientPacketListener connection; - public LocalPlayerMixin(ClientLevel clientLevel, - GameProfile gameProfile, - @Nullable ProfilePublicKey profilePublicKey) { + public LocalPlayerMixin( + ClientLevel clientLevel, + GameProfile gameProfile, + @Nullable ProfilePublicKey profilePublicKey + ) { super(clientLevel, gameProfile, profilePublicKey); } diff --git a/src/main/java/org/betterx/betterend/mixin/client/MinecraftClientMixin.java b/src/main/java/org/betterx/betterend/mixin/client/MinecraftClientMixin.java index d60767d2..62cb5fe5 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/MinecraftClientMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/MinecraftClientMixin.java @@ -1,5 +1,7 @@ package org.betterx.betterend.mixin.client; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.screens.Screen; @@ -10,7 +12,6 @@ import net.minecraft.sounds.Music; import net.minecraft.sounds.Musics; import net.minecraft.world.level.Level; -import org.betterx.bclib.util.MHelper; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -40,7 +41,7 @@ public class MinecraftClientMixin { if (this.gui.getBossOverlay().shouldPlayMusic() && MHelper.lengthSqr( this.player.getX(), this.player.getZ() - ) < 250000) { + ) < 250000) { info.setReturnValue(Musics.END_BOSS); } else { Music sound = this.level.getBiomeManager() diff --git a/src/main/java/org/betterx/betterend/mixin/client/ModelLoaderMixin.java b/src/main/java/org/betterx/betterend/mixin/client/ModelLoaderMixin.java index afe83fd6..9f2a4500 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/ModelLoaderMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/ModelLoaderMixin.java @@ -1,10 +1,11 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.client.resources.model.ModelBakery; import net.minecraft.resources.ResourceLocation; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyVariable; diff --git a/src/main/java/org/betterx/betterend/mixin/client/MusicTrackerMixin.java b/src/main/java/org/betterx/betterend/mixin/client/MusicTrackerMixin.java index 2c7f5219..e2f5820b 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/MusicTrackerMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/MusicTrackerMixin.java @@ -1,5 +1,9 @@ package org.betterx.betterend.mixin.client; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.betterend.client.ClientOptions; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.client.Minecraft; import net.minecraft.client.resources.sounds.AbstractSoundInstance; import net.minecraft.client.resources.sounds.SoundInstance; @@ -8,9 +12,6 @@ import net.minecraft.sounds.Music; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.betterend.client.ClientOptions; -import org.betterx.betterend.world.biome.EndBiome; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/betterx/betterend/mixin/client/PlayerRendererMixin.java b/src/main/java/org/betterx/betterend/mixin/client/PlayerRendererMixin.java index 871b104b..ebbefc5f 100644 --- a/src/main/java/org/betterx/betterend/mixin/client/PlayerRendererMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/client/PlayerRendererMixin.java @@ -1,12 +1,13 @@ package org.betterx.betterend.mixin.client; +import org.betterx.betterend.client.render.ArmoredElytraLayer; + import net.minecraft.client.model.PlayerModel; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.LivingEntityRenderer; import net.minecraft.client.renderer.entity.player.PlayerRenderer; -import org.betterx.betterend.client.render.ArmoredElytraLayer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -15,9 +16,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(PlayerRenderer.class) public abstract class PlayerRendererMixin extends LivingEntityRenderer> { - public PlayerRendererMixin(EntityRendererProvider.Context context, - PlayerModel entityModel, - float f) { + public PlayerRendererMixin( + EntityRendererProvider.Context context, + PlayerModel entityModel, + float f + ) { super(context, entityModel, f); } diff --git a/src/main/java/org/betterx/betterend/mixin/common/BlockBehaviourMixin.java b/src/main/java/org/betterx/betterend/mixin/common/BlockBehaviourMixin.java index b48a39fc..30df056f 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/BlockBehaviourMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/BlockBehaviourMixin.java @@ -1,5 +1,8 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.item.tool.EndHammerItem; + import net.minecraft.util.Mth; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -12,8 +15,6 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import com.google.common.collect.Lists; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.item.tool.EndHammerItem; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -24,9 +25,11 @@ import java.util.List; @Mixin(BlockBehaviour.class) public abstract class BlockBehaviourMixin { @Inject(method = "getDrops", at = @At("HEAD"), cancellable = true) - public void be_getDroppedStacks(BlockState state, - LootContext.Builder builder, - CallbackInfoReturnable> info) { + public void be_getDroppedStacks( + BlockState state, + LootContext.Builder builder, + CallbackInfoReturnable> info + ) { if (state.is(Blocks.GLOWSTONE)) { ItemStack tool = builder.getParameter(LootContextParams.TOOL); if (tool != null && tool.getItem() instanceof EndHammerItem) { diff --git a/src/main/java/org/betterx/betterend/mixin/common/ChorusFlowerBlockMixin.java b/src/main/java/org/betterx/betterend/mixin/common/ChorusFlowerBlockMixin.java index 435725b7..64442ab0 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/ChorusFlowerBlockMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/ChorusFlowerBlockMixin.java @@ -1,5 +1,10 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -15,10 +20,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -41,10 +42,12 @@ public abstract class ChorusFlowerBlockMixin extends Block { private ChorusPlantBlock plant; @Inject(method = "canSurvive", at = @At("HEAD"), cancellable = true) - private void be_canSurvive(BlockState state, - LevelReader world, - BlockPos pos, - CallbackInfoReturnable info) { + private void be_canSurvive( + BlockState state, + LevelReader world, + BlockPos pos, + CallbackInfoReturnable info + ) { if (world.getBlockState(pos.below()).is(EndBlocks.CHORUS_NYLIUM)) { info.setReturnValue(true); info.cancel(); @@ -52,22 +55,26 @@ public abstract class ChorusFlowerBlockMixin extends Block { } @Inject(method = "randomTick", at = @At("HEAD"), cancellable = true) - private void be_randomTick(BlockState state, - ServerLevel world, - BlockPos pos, - RandomSource random, - CallbackInfo info) { + private void be_randomTick( + BlockState state, + ServerLevel world, + BlockPos pos, + RandomSource random, + CallbackInfo info + ) { if (world.getBlockState(pos.below()).is(CommonBlockTags.END_STONES)) { BlockPos up = pos.above(); if (world.isEmptyBlock(up) && up.getY() < 256) { int i = state.getValue(ChorusFlowerBlock.AGE); if (i < 5) { this.placeGrownFlower(world, up, i + 1); - BlocksHelper.setWithoutUpdate(world, - pos, - plant.defaultBlockState() - .setValue(ChorusPlantBlock.UP, true) - .setValue(ChorusPlantBlock.DOWN, true)); + BlocksHelper.setWithoutUpdate( + world, + pos, + plant.defaultBlockState() + .setValue(ChorusPlantBlock.UP, true) + .setValue(ChorusPlantBlock.DOWN, true) + ); info.cancel(); } } diff --git a/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantBlockMixin.java b/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantBlockMixin.java index 44870da4..2367152a 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantBlockMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantBlockMixin.java @@ -1,5 +1,8 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; @@ -13,8 +16,6 @@ import net.minecraft.world.level.block.ChorusPlantBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.betterend.registry.EndBlocks; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -38,9 +39,11 @@ public abstract class ChorusPlantBlockMixin extends Block { } @Inject(method = "Lnet/minecraft/world/level/block/ChorusPlantBlock;getStateForPlacement" + "(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)" + "Lnet/minecraft/world/level/block/state/BlockState;", at = @At("RETURN"), cancellable = true) - private void be_getStateForPlacement(BlockGetter blockGetter, - BlockPos blockPos, - CallbackInfoReturnable info) { + private void be_getStateForPlacement( + BlockGetter blockGetter, + BlockPos blockPos, + CallbackInfoReturnable info + ) { BlockState plant = info.getReturnValue(); if (plant.is(Blocks.CHORUS_PLANT) && blockGetter.getBlockState(blockPos.below()) .is(CommonBlockTags.END_STONES)) { @@ -49,10 +52,12 @@ public abstract class ChorusPlantBlockMixin extends Block { } @Inject(method = "canSurvive", at = @At("HEAD"), cancellable = true) - private void be_canSurvive(BlockState state, - LevelReader world, - BlockPos pos, - CallbackInfoReturnable info) { + private void be_canSurvive( + BlockState state, + LevelReader world, + BlockPos pos, + CallbackInfoReturnable info + ) { BlockState down = world.getBlockState(pos.below()); if (down.is(EndBlocks.CHORUS_NYLIUM) || down.is(Blocks.END_STONE)) { info.setReturnValue(true); @@ -60,13 +65,15 @@ public abstract class ChorusPlantBlockMixin extends Block { } @Inject(method = "updateShape", at = @At("RETURN"), cancellable = true) - private void be_updateShape(BlockState state, - Direction direction, - BlockState newState, - LevelAccessor world, - BlockPos pos, - BlockPos posFrom, - CallbackInfoReturnable info) { + private void be_updateShape( + BlockState state, + Direction direction, + BlockState newState, + LevelAccessor world, + BlockPos pos, + BlockPos posFrom, + CallbackInfoReturnable info + ) { BlockState plant = info.getReturnValue(); if (plant.is(Blocks.CHORUS_PLANT) && world.getBlockState(pos.below()).is(CommonBlockTags.END_STONES)) { plant = plant.setValue(BlockStateProperties.DOWN, true); diff --git a/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantFeatureMixin.java b/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantFeatureMixin.java index bcab1ed7..99506fb2 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantFeatureMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/ChorusPlantFeatureMixin.java @@ -1,5 +1,9 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -11,9 +15,6 @@ import net.minecraft.world.level.levelgen.feature.ChorusPlantFeature; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -22,8 +23,10 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ChorusPlantFeature.class) public class ChorusPlantFeatureMixin { @Inject(method = "place", at = @At("HEAD"), cancellable = true) - private void be_place(FeaturePlaceContext featureConfig, - CallbackInfoReturnable info) { + private void be_place( + FeaturePlaceContext featureConfig, + CallbackInfoReturnable info + ) { final RandomSource random = featureConfig.random(); final BlockPos blockPos = featureConfig.origin(); final WorldGenLevel structureWorldAccess = featureConfig.level(); @@ -36,7 +39,7 @@ public class ChorusPlantFeatureMixin { structureWorldAccess, blockPos, bottom.setValue(PipeBlock.DOWN, true) - ); + ); } info.setReturnValue(true); } diff --git a/src/main/java/org/betterx/betterend/mixin/common/EnchantmentMenuMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EnchantmentMenuMixin.java index 67301c2d..ceda1e6b 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EnchantmentMenuMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EnchantmentMenuMixin.java @@ -1,5 +1,7 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; + import net.minecraft.core.Registry; import net.minecraft.util.RandomSource; import net.minecraft.world.Container; @@ -8,7 +10,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.EnchantmentInstance; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -67,7 +68,7 @@ public abstract class EnchantmentMenuMixin extends AbstractContainerMenu { k, 0, j - )) && world.isEmptyBlock( + )) && world.isEmptyBlock( blockPos.offset(k, 1, j))) { if (world.getBlockState(blockPos.offset(k * 2, 0, j * 2)) .is(CommonBlockTags.BOOKSHELVES)) { diff --git a/src/main/java/org/betterx/betterend/mixin/common/EndCityFeatureMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EndCityFeatureMixin.java index 0fd6665d..81cb4f2e 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EndCityFeatureMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EndCityFeatureMixin.java @@ -1,12 +1,13 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.levelgen.WorldgenRandom; import net.minecraft.world.level.levelgen.XoroshiroRandomSource; import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.structures.EndCityStructure; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -17,8 +18,10 @@ import java.util.Optional; @Mixin(EndCityStructure.class) public class EndCityFeatureMixin { @Inject(method = "findGenerationPoint", at = @At("HEAD"), cancellable = true) - private void be_findGenerationPoint(Structure.GenerationContext context, - CallbackInfoReturnable> info) { + private void be_findGenerationPoint( + Structure.GenerationContext context, + CallbackInfoReturnable> info + ) { final ChunkPos pos = context.chunkPos(); WorldgenRandom chunkRandom = new WorldgenRandom(new XoroshiroRandomSource(pos.x, pos.z)); diff --git a/src/main/java/org/betterx/betterend/mixin/common/EndDragonFightMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EndDragonFightMixin.java index 5b8fcfad..9bd632d3 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EndDragonFightMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EndDragonFightMixin.java @@ -1,5 +1,8 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -11,8 +14,6 @@ import net.minecraft.world.level.dimension.end.EndDragonFight; import net.minecraft.world.phys.AABB; import com.google.common.collect.Lists; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.slf4j.Logger; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -72,7 +73,7 @@ public class EndDragonFightMixin { List crystalList = level.getEntitiesOfClass( EndCrystal.class, new AABB(central.below(255).south().west(), central.above(255).north().east()) - ); + ); int count = crystalList.size(); for (int n = 0; n < count; n++) { diff --git a/src/main/java/org/betterx/betterend/mixin/common/EndPodiumFeatureMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EndPodiumFeatureMixin.java index 91f6609f..1e6b435a 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EndPodiumFeatureMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EndPodiumFeatureMixin.java @@ -1,5 +1,10 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.api.v2.WorldDataAPI; +import org.betterx.bclib.util.StructureHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.core.BlockPos; import net.minecraft.core.Vec3i; import net.minecraft.nbt.CompoundTag; @@ -13,10 +18,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import org.betterx.bclib.api.v2.WorldDataAPI; -import org.betterx.bclib.util.StructureHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -36,8 +37,10 @@ public class EndPodiumFeatureMixin { private boolean active; @Inject(method = "place", at = @At("HEAD"), cancellable = true) - private void be_place(FeaturePlaceContext featurePlaceContext, - CallbackInfoReturnable info) { + private void be_place( + FeaturePlaceContext featurePlaceContext, + CallbackInfoReturnable info + ) { if (!GeneratorOptions.hasPortal()) { info.setReturnValue(false); info.cancel(); @@ -46,8 +49,8 @@ public class EndPodiumFeatureMixin { WorldGenLevel world = featurePlaceContext.level(); BlockPos blockPos = be_updatePortalPos(world); StructureTemplate structure = StructureHelper.readStructure(BetterEnd.makeID(active - ? "portal/end_portal_active" - : "portal/end_portal_inactive")); + ? "portal/end_portal_active" + : "portal/end_portal_inactive")); Vec3i size = structure.getSize(); blockPos = blockPos.offset(-(size.getX() >> 1), -3, -(size.getZ() >> 1)); structure.placeInWorld(world, blockPos, blockPos, new StructurePlaceSettings(), random, 2); diff --git a/src/main/java/org/betterx/betterend/mixin/common/EndSpikeMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EndSpikeMixin.java index 90ca03c0..3f955381 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EndSpikeMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EndSpikeMixin.java @@ -1,11 +1,12 @@ package org.betterx.betterend.mixin.common; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.level.levelgen.feature.SpikeFeature.EndSpike; - import org.betterx.bclib.api.v2.WorldDataAPI; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.world.generator.GeneratorOptions; + +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.level.levelgen.feature.SpikeFeature.EndSpike; + import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/betterx/betterend/mixin/common/EnderManMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EnderManMixin.java index 477aad27..ebadcf9a 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EnderManMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EnderManMixin.java @@ -1,12 +1,13 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.effects.EndStatusEffects; +import org.betterx.betterend.registry.EndEnchantments; + import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.monster.EnderMan; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.enchantment.EnchantmentHelper; -import org.betterx.betterend.effects.EndStatusEffects; -import org.betterx.betterend.registry.EndEnchantments; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -19,7 +20,7 @@ public abstract class EnderManMixin { if (player.isCreative() || player.hasEffect(EndStatusEffects.END_VEIL) || EnchantmentHelper.getItemEnchantmentLevel( EndEnchantments.END_VEIL, player.getItemBySlot(EquipmentSlot.HEAD) - ) > 0) { + ) > 0) { info.setReturnValue(false); } } diff --git a/src/main/java/org/betterx/betterend/mixin/common/EntityMixin.java b/src/main/java/org/betterx/betterend/mixin/common/EntityMixin.java index b8f29579..21261527 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/EntityMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/EntityMixin.java @@ -1,5 +1,7 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.interfaces.TeleportingEntity; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; @@ -8,7 +10,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.portal.PortalInfo; import net.minecraft.world.phys.Vec3; -import org.betterx.betterend.interfaces.TeleportingEntity; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -65,7 +66,7 @@ public abstract class EntityMixin implements TeleportingEntity { teleportTarget.pos.z, teleportTarget.yRot, entity.getXRot() - ); + ); entity.setDeltaMovement(teleportTarget.speed); destination.addDuringTeleport(entity); } diff --git a/src/main/java/org/betterx/betterend/mixin/common/LevelMixin.java b/src/main/java/org/betterx/betterend/mixin/common/LevelMixin.java index 7649b06b..082bc5b1 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/LevelMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/LevelMixin.java @@ -1,10 +1,11 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.Level; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java b/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java index 031a24a2..86b6be1b 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/LivingEntityMixin.java @@ -1,5 +1,11 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.interfaces.FallFlyingItem; +import org.betterx.betterend.interfaces.MobEffectApplier; +import org.betterx.betterend.item.CrystaliteArmor; +import org.betterx.betterend.registry.EndAttributes; + import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.EntityTypeTags; import net.minecraft.util.Mth; @@ -22,11 +28,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.interfaces.FallFlyingItem; -import org.betterx.betterend.interfaces.MobEffectApplier; -import org.betterx.betterend.item.CrystaliteArmor; -import org.betterx.betterend.registry.EndAttributes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -149,7 +150,7 @@ public abstract class LivingEntityMixin extends Entity { 1, LivingEntity.class.cast(this), livingEntity -> livingEntity.broadcastBreakEvent(EquipmentSlot.CHEST) - ); + ); } isFlying = true; } else { @@ -249,7 +250,7 @@ public abstract class LivingEntityMixin extends Entity { (lookAngle.x / k * l - moveDelta.x) * 0.1D, 0.0D, (lookAngle.z / k * l - moveDelta.z) * 0.1D - ); + ); } moveDelta = moveDelta.multiply(0.9900000095367432D, 0.9800000190734863D, 0.9900000095367432D); double movementFactor = ((FallFlyingItem) itemStack.getItem()).getMovementFactor(); diff --git a/src/main/java/org/betterx/betterend/mixin/common/MonsterMixin.java b/src/main/java/org/betterx/betterend/mixin/common/MonsterMixin.java index 977fdd32..15503c39 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/MonsterMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/MonsterMixin.java @@ -19,12 +19,14 @@ import java.util.List; @Mixin(Monster.class) public class MonsterMixin { @Inject(method = "checkMonsterSpawnRules", at = @At(value = "RETURN"), cancellable = true) - private static void be_checkMonsterSpawnRules(EntityType type, - ServerLevelAccessor serverWorldAccess, - MobSpawnType spawnReason, - BlockPos pos, - RandomSource random, - CallbackInfoReturnable info) { + private static void be_checkMonsterSpawnRules( + EntityType type, + ServerLevelAccessor serverWorldAccess, + MobSpawnType spawnReason, + BlockPos pos, + RandomSource random, + CallbackInfoReturnable info + ) { boolean canSpawn = info.getReturnValue(); if (canSpawn && spawnReason == MobSpawnType.NATURAL && type == EntityType.ENDERMAN) { AABB box = new AABB(pos).inflate(16); diff --git a/src/main/java/org/betterx/betterend/mixin/common/NoiseChunkMixin.java b/src/main/java/org/betterx/betterend/mixin/common/NoiseChunkMixin.java index 82fc06c0..68d1c546 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/NoiseChunkMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/NoiseChunkMixin.java @@ -1,11 +1,12 @@ package org.betterx.betterend.mixin.common; -import net.minecraft.world.level.levelgen.*; -import net.minecraft.world.level.levelgen.blending.Blender; - import org.betterx.bclib.BCLib; import org.betterx.betterend.interfaces.BETargetChecker; import org.betterx.betterend.world.generator.TerrainGenerator; + +import net.minecraft.world.level.levelgen.*; +import net.minecraft.world.level.levelgen.blending.Blender; + import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -20,16 +21,18 @@ public class NoiseChunkMixin implements BETargetChecker { private boolean be_isEndGenerator; @Inject(method = "*", at = @At("TAIL")) - private void be_onNoiseChunkInit(int i, - RandomState randomState, - int j, - int k, - NoiseSettings noiseSettings, - DensityFunctions.BeardifierOrMarker beardifierOrMarker, - NoiseGeneratorSettings noiseGeneratorSettings, - Aquifer.FluidPicker fluidPicker, - Blender blender, - CallbackInfo ci) { + private void be_onNoiseChunkInit( + int i, + RandomState randomState, + int j, + int k, + NoiseSettings noiseSettings, + DensityFunctions.BeardifierOrMarker beardifierOrMarker, + NoiseGeneratorSettings noiseGeneratorSettings, + Aquifer.FluidPicker fluidPicker, + Blender blender, + CallbackInfo ci + ) { var o = BETargetChecker.class.cast(noiseGeneratorSettings); if (o != null) be_isEndGenerator = o.be_isTarget(); else BCLib.LOGGER.warning(noiseGeneratorSettings + " has unknown implementation."); diff --git a/src/main/java/org/betterx/betterend/mixin/common/NoiseGeneratorSettingsMixin.java b/src/main/java/org/betterx/betterend/mixin/common/NoiseGeneratorSettingsMixin.java index f2cd7e3a..82fa21de 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/NoiseGeneratorSettingsMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/NoiseGeneratorSettingsMixin.java @@ -1,8 +1,9 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.interfaces.BETargetChecker; + import net.minecraft.world.level.levelgen.NoiseGeneratorSettings; -import org.betterx.betterend.interfaces.BETargetChecker; import org.spongepowered.asm.mixin.Mixin; @Mixin(NoiseGeneratorSettings.class) diff --git a/src/main/java/org/betterx/betterend/mixin/common/PlayerAdvancementsMixin.java b/src/main/java/org/betterx/betterend/mixin/common/PlayerAdvancementsMixin.java index 70b3bc56..0139bec2 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/PlayerAdvancementsMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/PlayerAdvancementsMixin.java @@ -1,10 +1,11 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.events.PlayerAdvancementsCallback; + import net.minecraft.advancements.Advancement; import net.minecraft.server.PlayerAdvancements; import net.minecraft.server.level.ServerPlayer; -import org.betterx.betterend.events.PlayerAdvancementsCallback; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -20,9 +21,10 @@ public abstract class PlayerAdvancementsMixin { @Inject(method = "award", at = @At(value = "INVOKE", target = "Lnet/minecraft/advancements/AdvancementRewards;grant(Lnet/minecraft/server/level/ServerPlayer;)V", shift = Shift.AFTER)) public void be_award(Advancement advancement, String criterionName, CallbackInfoReturnable info) { PlayerAdvancementsCallback.PLAYER_ADVANCEMENT_COMPLETE.invoker() - .onAdvancementComplete(player, - advancement, - criterionName - ); + .onAdvancementComplete( + player, + advancement, + criterionName + ); } } diff --git a/src/main/java/org/betterx/betterend/mixin/common/PlayerMixin.java b/src/main/java/org/betterx/betterend/mixin/common/PlayerMixin.java index 2fafab1f..0251aadc 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/PlayerMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/PlayerMixin.java @@ -1,5 +1,12 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.interfaces.FallFlyingItem; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -14,12 +21,6 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.interfaces.FallFlyingItem; -import org.betterx.betterend.registry.EndBlocks; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -36,12 +37,14 @@ public abstract class PlayerMixin extends LivingEntity { private static Direction[] horizontal; @Inject(method = "findRespawnPositionAndUseSpawnBlock", at = @At(value = "HEAD"), cancellable = true) - private static void be_findRespawnPositionAndUseSpawnBlock(ServerLevel world, - BlockPos pos, - float f, - boolean bl, - boolean bl2, - CallbackInfoReturnable> info) { + private static void be_findRespawnPositionAndUseSpawnBlock( + ServerLevel world, + BlockPos pos, + float f, + boolean bl, + boolean bl2, + CallbackInfoReturnable> info + ) { BlockState blockState = world.getBlockState(pos); if (blockState.is(EndBlocks.RESPAWN_OBELISK)) { info.setReturnValue(be_obeliskRespawnPosition(world, pos, blockState)); diff --git a/src/main/java/org/betterx/betterend/mixin/common/ServerLevelMixin.java b/src/main/java/org/betterx/betterend/mixin/common/ServerLevelMixin.java index f09ed0ae..52eeb7ae 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/ServerLevelMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/ServerLevelMixin.java @@ -1,5 +1,12 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.interfaces.BETargetChecker; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.world.generator.GeneratorOptions; +import org.betterx.betterend.world.generator.TerrainGenerator; + import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.resources.ResourceKey; @@ -21,12 +28,6 @@ import net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess; import net.minecraft.world.level.storage.ServerLevelData; import net.minecraft.world.level.storage.WritableLevelData; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.interfaces.BETargetChecker; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.world.generator.GeneratorOptions; -import org.betterx.betterend.world.generator.TerrainGenerator; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -39,20 +40,24 @@ import java.util.function.Supplier; @Mixin(ServerLevel.class) public abstract class ServerLevelMixin extends Level { - protected ServerLevelMixin(WritableLevelData writableLevelData, - ResourceKey resourceKey, - Holder holder, - Supplier supplier, - boolean bl, - boolean bl2, - long l, - int i) { + protected ServerLevelMixin( + WritableLevelData writableLevelData, + ResourceKey resourceKey, + Holder holder, + Supplier supplier, + boolean bl, + boolean bl2, + long l, + int i + ) { super(writableLevelData, resourceKey, holder, supplier, bl, bl2, l, i); } - private final static List> BE_TEST_DIMENSIONS = List.of(BuiltinDimensionTypes.OVERWORLD, - BuiltinDimensionTypes.OVERWORLD_CAVES, - BuiltinDimensionTypes.NETHER); + private final static List> BE_TEST_DIMENSIONS = List.of( + BuiltinDimensionTypes.OVERWORLD, + BuiltinDimensionTypes.OVERWORLD_CAVES, + BuiltinDimensionTypes.NETHER + ); @ModifyArg(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/Holder;is(Lnet/minecraft/resources/ResourceKey;)Z")) ResourceKey be_dragonFight(ResourceKey resourceKey) { @@ -64,30 +69,34 @@ public abstract class ServerLevelMixin extends Level { } @Inject(method = "*", at = @At("TAIL")) - private void be_onServerWorldInit(MinecraftServer minecraftServer, - Executor executor, - LevelStorageAccess levelStorageAccess, - ServerLevelData serverLevelData, - ResourceKey resourceKey, - LevelStem levelStem, - ChunkProgressListener chunkProgressListener, - boolean bl, - long seed, - List list, - boolean bl2, - CallbackInfo ci) { + private void be_onServerWorldInit( + MinecraftServer minecraftServer, + Executor executor, + LevelStorageAccess levelStorageAccess, + ServerLevelData serverLevelData, + ResourceKey resourceKey, + LevelStem levelStem, + ChunkProgressListener chunkProgressListener, + boolean bl, + long seed, + List list, + boolean bl2, + CallbackInfo ci + ) { ServerLevel level = ServerLevel.class.cast(this); if (level.dimension() == Level.END) { final ChunkGenerator chunkGenerator = levelStem.generator(); if (chunkGenerator instanceof NoiseBasedChunkGenerator) { Holder sHolder = ((NoiseBasedChunkGeneratorAccessor) chunkGenerator) - .be_getSettings(); + .be_getSettings(); BETargetChecker.class.cast(sHolder.value()).be_setTarget(true); } - TerrainGenerator.initNoise(seed, - chunkGenerator.getBiomeSource(), - level.getChunkSource().randomState().sampler()); + TerrainGenerator.initNoise( + seed, + chunkGenerator.getBiomeSource(), + level.getChunkSource().randomState().sampler() + ); } } diff --git a/src/main/java/org/betterx/betterend/mixin/common/ServerPlayerMixin.java b/src/main/java/org/betterx/betterend/mixin/common/ServerPlayerMixin.java index e7ed6ca6..0741f4a5 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/ServerPlayerMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/ServerPlayerMixin.java @@ -1,7 +1,10 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.interfaces.TeleportingEntity; +import org.betterx.betterend.world.generator.GeneratorOptions; + +import com.mojang.authlib.GameProfile; import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; import net.minecraft.network.protocol.game.*; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; @@ -19,9 +22,6 @@ import net.minecraft.world.level.portal.PortalInfo; import net.minecraft.world.level.storage.LevelData; import net.minecraft.world.phys.Vec3; -import com.mojang.authlib.GameProfile; -import org.betterx.betterend.interfaces.TeleportingEntity; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -55,11 +55,13 @@ public abstract class ServerPlayerMixin extends Player implements TeleportingEnt private BlockPos exitPos; private int be_teleportDelay = 0; - public ServerPlayerMixin(Level level, - BlockPos blockPos, - float f, - GameProfile gameProfile, - @Nullable ProfilePublicKey profilePublicKey) { + public ServerPlayerMixin( + Level level, + BlockPos blockPos, + float f, + GameProfile gameProfile, + @Nullable ProfilePublicKey profilePublicKey + ) { super(level, blockPos, f, gameProfile, profilePublicKey); } diff --git a/src/main/java/org/betterx/betterend/mixin/common/SlimeMixin.java b/src/main/java/org/betterx/betterend/mixin/common/SlimeMixin.java index 71261805..4f79a15a 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/SlimeMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/SlimeMixin.java @@ -1,11 +1,12 @@ package org.betterx.betterend.mixin.common; +import org.betterx.betterend.interfaces.ISlime; + import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.monster.Slime; import net.minecraft.world.level.Level; -import org.betterx.betterend.interfaces.ISlime; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/org/betterx/betterend/mixin/common/SpikeFeatureMixin.java b/src/main/java/org/betterx/betterend/mixin/common/SpikeFeatureMixin.java index 25c3cdfc..91a5ae77 100644 --- a/src/main/java/org/betterx/betterend/mixin/common/SpikeFeatureMixin.java +++ b/src/main/java/org/betterx/betterend/mixin/common/SpikeFeatureMixin.java @@ -1,5 +1,11 @@ package org.betterx.betterend.mixin.common; +import org.betterx.bclib.api.v2.WorldDataAPI; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.StructureHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.world.generator.GeneratorOptions; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Vec3i; @@ -19,11 +25,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.SpikeConfigurat import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import org.betterx.bclib.api.v2.WorldDataAPI; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.StructureHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.world.generator.GeneratorOptions; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -33,19 +34,23 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(SpikeFeature.class) public class SpikeFeatureMixin { @Inject(method = "place", at = @At("HEAD"), cancellable = true) - private void be_place(FeaturePlaceContext featurePlaceContext, - CallbackInfoReturnable info) { + private void be_place( + FeaturePlaceContext featurePlaceContext, + CallbackInfoReturnable info + ) { if (!GeneratorOptions.hasPillars()) { info.setReturnValue(false); } } @Inject(method = "placeSpike", at = @At("HEAD"), cancellable = true) - private void be_placeSpike(ServerLevelAccessor world, - RandomSource random, - SpikeConfiguration config, - SpikeFeature.EndSpike spike, - CallbackInfo info) { + private void be_placeSpike( + ServerLevelAccessor world, + RandomSource random, + SpikeConfiguration config, + SpikeFeature.EndSpike spike, + CallbackInfo info + ) { int x = spike.getCenterX(); int z = spike.getCenterZ(); int radius = spike.getRadius(); @@ -157,19 +162,20 @@ public class SpikeFeatureMixin { BlockState blockState = Blocks.IRON_BARS .defaultBlockState() .setValue(IronBarsBlock.NORTH, bl4 && pz != -2).setValue( - IronBarsBlock.SOUTH, - bl4 && pz != 2 - ).setValue( - IronBarsBlock.WEST, - bl5 && px != -2).setValue( - IronBarsBlock.EAST, - bl5 && px != 2 - ); + IronBarsBlock.SOUTH, + bl4 && pz != 2 + ).setValue( + IronBarsBlock.WEST, + bl5 && px != -2 + ).setValue( + IronBarsBlock.EAST, + bl5 && px != 2 + ); BlocksHelper.setWithoutUpdate( world, mut.set(spike.getCenterX() + px, maxY + py, spike.getCenterZ() + pz), blockState - ); + ); } } } diff --git a/src/main/java/org/betterx/betterend/noise/OpenSimplexNoise.java b/src/main/java/org/betterx/betterend/noise/OpenSimplexNoise.java index 4dc9325c..3479e43b 100644 --- a/src/main/java/org/betterx/betterend/noise/OpenSimplexNoise.java +++ b/src/main/java/org/betterx/betterend/noise/OpenSimplexNoise.java @@ -2122,7 +2122,7 @@ public final class OpenSimplexNoise { dy_ext0, dz_ext0, dw_ext0 - ); + ); } // Second extra vertex @@ -2138,7 +2138,7 @@ public final class OpenSimplexNoise { dy_ext1, dz_ext1, dw_ext1 - ); + ); } // Third extra vertex @@ -2154,7 +2154,7 @@ public final class OpenSimplexNoise { dy_ext2, dz_ext2, dw_ext2 - ); + ); } return value / NORM_CONSTANT_4D; diff --git a/src/main/java/org/betterx/betterend/particle/FireflyParticle.java b/src/main/java/org/betterx/betterend/particle/FireflyParticle.java index 27643928..5d0be84a 100644 --- a/src/main/java/org/betterx/betterend/particle/FireflyParticle.java +++ b/src/main/java/org/betterx/betterend/particle/FireflyParticle.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleProvider; @@ -11,8 +13,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class FireflyParticle extends SimpleAnimatedParticle { private double preVX; @@ -22,14 +22,16 @@ public class FireflyParticle extends SimpleAnimatedParticle { private double nextVY; private double nextVZ; - protected FireflyParticle(ClientLevel world, - double x, - double y, - double z, - SpriteSet sprites, - double r, - double g, - double b) { + protected FireflyParticle( + ClientLevel world, + double x, + double y, + double z, + SpriteSet sprites, + double r, + double g, + double b + ) { super(world, x, y, z, sprites, 0); setSprite(sprites.get(random)); this.lifetime = MHelper.randRange(150, 300, random); @@ -82,14 +84,16 @@ public class FireflyParticle extends SimpleAnimatedParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new FireflyParticle(world, x, y, z, sprites, 1, 1, 1); } } diff --git a/src/main/java/org/betterx/betterend/particle/InfusionParticle.java b/src/main/java/org/betterx/betterend/particle/InfusionParticle.java index e7d12955..66f66f6f 100644 --- a/src/main/java/org/betterx/betterend/particle/InfusionParticle.java +++ b/src/main/java/org/betterx/betterend/particle/InfusionParticle.java @@ -10,15 +10,17 @@ public class InfusionParticle extends TextureSheetParticle { private final SpriteSet spriteProvider; - public InfusionParticle(ClientLevel clientWorld, - double x, - double y, - double z, - double velocityX, - double velocityY, - double velocityZ, - float[] palette, - SpriteSet spriteProvider) { + public InfusionParticle( + ClientLevel clientWorld, + double x, + double y, + double z, + double velocityX, + double velocityY, + double velocityZ, + float[] palette, + SpriteSet spriteProvider + ) { super(clientWorld, x, y, z, 0.0, 0.0, 0.0); this.setSpriteFromAge(spriteProvider); this.spriteProvider = spriteProvider; @@ -60,14 +62,16 @@ public class InfusionParticle extends TextureSheetParticle { this.spriteProvider = spriteProvider; } - public Particle createParticle(InfusionParticleType particleType, - ClientLevel clientWorld, - double d, - double e, - double f, - double g, - double h, - double i) { + public Particle createParticle( + InfusionParticleType particleType, + ClientLevel clientWorld, + double d, + double e, + double f, + double g, + double h, + double i + ) { return new InfusionParticle(clientWorld, d, e, f, g, h, i, particleType.getPalette(), this.spriteProvider); } } diff --git a/src/main/java/org/betterx/betterend/particle/InfusionParticleType.java b/src/main/java/org/betterx/betterend/particle/InfusionParticleType.java index 0fbe89ca..9c326e20 100644 --- a/src/main/java/org/betterx/betterend/particle/InfusionParticleType.java +++ b/src/main/java/org/betterx/betterend/particle/InfusionParticleType.java @@ -1,5 +1,11 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.betterend.registry.EndParticles; + +import com.mojang.brigadier.StringReader; +import com.mojang.brigadier.exceptions.CommandSyntaxException; +import com.mojang.serialization.Codec; import net.minecraft.commands.arguments.item.ItemInput; import net.minecraft.commands.arguments.item.ItemParser; import net.minecraft.core.HolderLookup; @@ -12,12 +18,6 @@ import net.minecraft.world.item.ItemStack; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import com.mojang.brigadier.StringReader; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.mojang.serialization.Codec; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.betterend.registry.EndParticles; - public class InfusionParticleType extends ParticleType implements ParticleOptions { public static final Codec CODEC = ItemStack.CODEC.xmap(itemStack -> new InfusionParticleType( EndParticles.INFUSION, @@ -26,18 +26,24 @@ public class InfusionParticleType extends ParticleType imp @SuppressWarnings("deprecation") public static final ParticleOptions.Deserializer PARAMETERS_FACTORY = new ParticleOptions.Deserializer() { - public InfusionParticleType fromCommand(ParticleType particleType, - StringReader stringReader) throws CommandSyntaxException { + public InfusionParticleType fromCommand( + ParticleType particleType, + StringReader stringReader + ) throws CommandSyntaxException { stringReader.expect(' '); - ItemParser.ItemResult itemResult = ItemParser.parseForItem(HolderLookup.forRegistry(Registry.ITEM), - stringReader); + ItemParser.ItemResult itemResult = ItemParser.parseForItem( + HolderLookup.forRegistry(Registry.ITEM), + stringReader + ); ItemStack itemStack = new ItemInput(itemResult.item(), itemResult.nbt()).createItemStack(1, false); return new InfusionParticleType(particleType, itemStack); } - public InfusionParticleType fromNetwork(ParticleType particleType, - FriendlyByteBuf packetByteBuf) { + public InfusionParticleType fromNetwork( + ParticleType particleType, + FriendlyByteBuf packetByteBuf + ) { return new InfusionParticleType(particleType, packetByteBuf.readItem()); } }; diff --git a/src/main/java/org/betterx/betterend/particle/ParticleBlackSpore.java b/src/main/java/org/betterx/betterend/particle/ParticleBlackSpore.java index 509011c7..c32f38ff 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleBlackSpore.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleBlackSpore.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.particles.SimpleParticleType; @@ -8,8 +10,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class ParticleBlackSpore extends SimpleAnimatedParticle { private double preVX; @@ -19,14 +19,16 @@ public class ParticleBlackSpore extends SimpleAnimatedParticle { private double nextVY; private double nextVZ; - protected ParticleBlackSpore(ClientLevel world, - double x, - double y, - double z, - double r, - double g, - double b, - SpriteSet sprites) { + protected ParticleBlackSpore( + ClientLevel world, + double x, + double y, + double z, + double r, + double g, + double b, + SpriteSet sprites + ) { super(world, x, y, z, sprites, 0); setSprite(sprites.get(random)); @@ -89,14 +91,16 @@ public class ParticleBlackSpore extends SimpleAnimatedParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleBlackSpore(world, x, y, z, 1, 1, 1, sprites); } } diff --git a/src/main/java/org/betterx/betterend/particle/ParticleGeyser.java b/src/main/java/org/betterx/betterend/particle/ParticleGeyser.java index 653a19a7..4ce6b320 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleGeyser.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleGeyser.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.BlockPos.MutableBlockPos; @@ -8,22 +10,22 @@ import net.minecraft.core.particles.SimpleParticleType; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class ParticleGeyser extends TextureSheetParticle { private final MutableBlockPos mut = new MutableBlockPos(); private boolean changeDir = false; private boolean check = true; - protected ParticleGeyser(ClientLevel world, - double x, - double y, - double z, - double vx, - double vy, - double vz, - SpriteSet sprites) { + protected ParticleGeyser( + ClientLevel world, + double x, + double y, + double z, + double vx, + double vy, + double vz, + SpriteSet sprites + ) { super(world, x, y, z, vx, vy, vz); pickSprite(sprites); this.lifetime = MHelper.randRange(400, 800, random); @@ -75,14 +77,16 @@ public class ParticleGeyser extends TextureSheetParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleGeyser(world, x, y, z, 0, 0.125, 0, sprites); } } diff --git a/src/main/java/org/betterx/betterend/particle/ParticleGlowingSphere.java b/src/main/java/org/betterx/betterend/particle/ParticleGlowingSphere.java index 6c074662..c649c688 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleGlowingSphere.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleGlowingSphere.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleProvider; @@ -11,8 +13,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class ParticleGlowingSphere extends SimpleAnimatedParticle { private int ticks; @@ -23,14 +23,16 @@ public class ParticleGlowingSphere extends SimpleAnimatedParticle { private double nextVY; private double nextVZ; - protected ParticleGlowingSphere(ClientLevel world, - double x, - double y, - double z, - SpriteSet sprites, - double r, - double g, - double b) { + protected ParticleGlowingSphere( + ClientLevel world, + double x, + double y, + double z, + SpriteSet sprites, + double r, + double g, + double b + ) { super(world, x, y, z, sprites, 0); setSprite(sprites.get(random)); this.lifetime = MHelper.randRange(150, 300, random); @@ -78,14 +80,16 @@ public class ParticleGlowingSphere extends SimpleAnimatedParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleGlowingSphere(world, x, y, z, sprites, 1, 1, 1); } } diff --git a/src/main/java/org/betterx/betterend/particle/ParticleJungleSpore.java b/src/main/java/org/betterx/betterend/particle/ParticleJungleSpore.java index be7d5e3b..1cb75ee5 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleJungleSpore.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleJungleSpore.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleProvider; @@ -10,19 +12,19 @@ import net.minecraft.core.particles.SimpleParticleType; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class ParticleJungleSpore extends SimpleAnimatedParticle { - protected ParticleJungleSpore(ClientLevel world, - double x, - double y, - double z, - SpriteSet sprites, - double r, - double g, - double b) { + protected ParticleJungleSpore( + ClientLevel world, + double x, + double y, + double z, + SpriteSet sprites, + double r, + double g, + double b + ) { super(world, x, y, z, sprites, 0); setSprite(sprites.get(random)); this.lifetime = MHelper.randRange(150, 300, random); @@ -69,14 +71,16 @@ public class ParticleJungleSpore extends SimpleAnimatedParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleJungleSpore(world, x, y, z, sprites, 1, 1, 1); } } diff --git a/src/main/java/org/betterx/betterend/particle/ParticleSnowflake.java b/src/main/java/org/betterx/betterend/particle/ParticleSnowflake.java index 3f3585cd..e0d8b926 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleSnowflake.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleSnowflake.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.particles.SimpleParticleType; @@ -8,8 +10,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class ParticleSnowflake extends TextureSheetParticle { private int ticks; @@ -20,14 +20,16 @@ public class ParticleSnowflake extends TextureSheetParticle { private double nextVY; private double nextVZ; - protected ParticleSnowflake(ClientLevel world, - double x, - double y, - double z, - double r, - double g, - double b, - SpriteSet sprites) { + protected ParticleSnowflake( + ClientLevel world, + double x, + double y, + double z, + double r, + double g, + double b, + SpriteSet sprites + ) { super(world, x, y, z, r, g, b); pickSprite(sprites); @@ -93,14 +95,16 @@ public class ParticleSnowflake extends TextureSheetParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleSnowflake(world, x, y, z, 1, 1, 1, sprites); } } diff --git a/src/main/java/org/betterx/betterend/particle/ParticleSulphur.java b/src/main/java/org/betterx/betterend/particle/ParticleSulphur.java index 33f717bf..dd8c5aaf 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleSulphur.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleSulphur.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.particles.SimpleParticleType; @@ -8,8 +10,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class ParticleSulphur extends TextureSheetParticle { private int ticks; @@ -20,14 +20,16 @@ public class ParticleSulphur extends TextureSheetParticle { private double nextVY; private double nextVZ; - protected ParticleSulphur(ClientLevel world, - double x, - double y, - double z, - double r, - double g, - double b, - SpriteSet sprites) { + protected ParticleSulphur( + ClientLevel world, + double x, + double y, + double z, + double r, + double g, + double b, + SpriteSet sprites + ) { super(world, x, y, z, r, g, b); pickSprite(sprites); @@ -94,14 +96,16 @@ public class ParticleSulphur extends TextureSheetParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleSulphur(world, x, y, z, 1, 1, 1, sprites); } } diff --git a/src/main/java/org/betterx/betterend/particle/ParticleTenaneaPetal.java b/src/main/java/org/betterx/betterend/particle/ParticleTenaneaPetal.java index fbd481e2..be8c6bee 100644 --- a/src/main/java/org/betterx/betterend/particle/ParticleTenaneaPetal.java +++ b/src/main/java/org/betterx/betterend/particle/ParticleTenaneaPetal.java @@ -1,5 +1,9 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.interfaces.CustomColorProvider; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; @@ -10,10 +14,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.interfaces.CustomColorProvider; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; - @Environment(EnvType.CLIENT) public class ParticleTenaneaPetal extends TextureSheetParticle { private static BlockColor provider; @@ -25,14 +25,16 @@ public class ParticleTenaneaPetal extends TextureSheetParticle { private double nextVY; private double nextVZ; - protected ParticleTenaneaPetal(ClientLevel world, - double x, - double y, - double z, - double r, - double g, - double b, - SpriteSet sprites) { + protected ParticleTenaneaPetal( + ClientLevel world, + double x, + double y, + double z, + double r, + double g, + double b, + SpriteSet sprites + ) { super(world, x, y, z, r, g, b); pickSprite(sprites); @@ -108,14 +110,16 @@ public class ParticleTenaneaPetal extends TextureSheetParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new ParticleTenaneaPetal(world, x, y, z, 1, 1, 1, sprites); } } diff --git a/src/main/java/org/betterx/betterend/particle/PaticlePortalSphere.java b/src/main/java/org/betterx/betterend/particle/PaticlePortalSphere.java index 7d253e61..d06f37a5 100644 --- a/src/main/java/org/betterx/betterend/particle/PaticlePortalSphere.java +++ b/src/main/java/org/betterx/betterend/particle/PaticlePortalSphere.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.Particle; import net.minecraft.client.particle.ParticleProvider; @@ -11,8 +13,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - public class PaticlePortalSphere extends SimpleAnimatedParticle { private int ticks; private double preVX; @@ -71,14 +71,16 @@ public class PaticlePortalSphere extends SimpleAnimatedParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new PaticlePortalSphere(world, x, y, z, sprites); } } diff --git a/src/main/java/org/betterx/betterend/particle/SmaragdantParticle.java b/src/main/java/org/betterx/betterend/particle/SmaragdantParticle.java index ed88dffb..b372aa63 100644 --- a/src/main/java/org/betterx/betterend/particle/SmaragdantParticle.java +++ b/src/main/java/org/betterx/betterend/particle/SmaragdantParticle.java @@ -1,5 +1,7 @@ package org.betterx.betterend.particle; +import org.betterx.bclib.util.MHelper; + import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.particles.SimpleParticleType; @@ -8,8 +10,6 @@ import net.minecraft.util.Mth; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.bclib.util.MHelper; - @Environment(EnvType.CLIENT) public class SmaragdantParticle extends SimpleAnimatedParticle { private double preVX; @@ -19,14 +19,16 @@ public class SmaragdantParticle extends SimpleAnimatedParticle { private double nextVY; private double nextVZ; - protected SmaragdantParticle(ClientLevel world, - double x, - double y, - double z, - double r, - double g, - double b, - SpriteSet sprites) { + protected SmaragdantParticle( + ClientLevel world, + double x, + double y, + double z, + double r, + double g, + double b, + SpriteSet sprites + ) { super(world, x, y, z, sprites, 0); setSprite(sprites.get(random)); @@ -89,14 +91,16 @@ public class SmaragdantParticle extends SimpleAnimatedParticle { } @Override - public Particle createParticle(SimpleParticleType type, - ClientLevel world, - double x, - double y, - double z, - double vX, - double vY, - double vZ) { + public Particle createParticle( + SimpleParticleType type, + ClientLevel world, + double x, + double y, + double z, + double vX, + double vY, + double vZ + ) { return new SmaragdantParticle(world, x, y, z, 1, 1, 1, sprites); } } diff --git a/src/main/java/org/betterx/betterend/recipe/AlloyingRecipes.java b/src/main/java/org/betterx/betterend/recipe/AlloyingRecipes.java index f3ef5f19..a251da50 100644 --- a/src/main/java/org/betterx/betterend/recipe/AlloyingRecipes.java +++ b/src/main/java/org/betterx/betterend/recipe/AlloyingRecipes.java @@ -1,13 +1,13 @@ package org.betterx.betterend.recipe; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Blocks; - import org.betterx.betterend.recipe.builders.AlloyingRecipe; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndItems; import org.betterx.betterend.registry.EndTags; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; + public class AlloyingRecipes { public static void register() { AlloyingRecipe.Builder.create("additional_iron") diff --git a/src/main/java/org/betterx/betterend/recipe/AnvilRecipes.java b/src/main/java/org/betterx/betterend/recipe/AnvilRecipes.java index dfc9bf56..fabba136 100644 --- a/src/main/java/org/betterx/betterend/recipe/AnvilRecipes.java +++ b/src/main/java/org/betterx/betterend/recipe/AnvilRecipes.java @@ -1,12 +1,12 @@ package org.betterx.betterend.recipe; -import net.minecraft.world.item.Items; - import org.betterx.bclib.recipes.AnvilRecipe; import org.betterx.betterend.config.Configs; import org.betterx.betterend.item.material.EndToolMaterial; import org.betterx.betterend.registry.EndItems; +import net.minecraft.world.item.Items; + public class AnvilRecipes { public static void register() { AnvilRecipe.create("ender_pearl_to_dust") diff --git a/src/main/java/org/betterx/betterend/recipe/CraftingRecipes.java b/src/main/java/org/betterx/betterend/recipe/CraftingRecipes.java index 4a8ec184..243187f6 100644 --- a/src/main/java/org/betterx/betterend/recipe/CraftingRecipes.java +++ b/src/main/java/org/betterx/betterend/recipe/CraftingRecipes.java @@ -1,5 +1,12 @@ package org.betterx.betterend.recipe; +import org.betterx.bclib.api.v2.tag.CommonItemTags; +import org.betterx.bclib.recipes.GridRecipe; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -8,13 +15,6 @@ import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import org.betterx.bclib.api.v2.tag.CommonItemTags; -import org.betterx.bclib.recipes.GridRecipe; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - public class CraftingRecipes { public static void register() { @@ -43,19 +43,19 @@ public class CraftingRecipes { EndBlocks.ANDESITE_PEDESTAL, Blocks.POLISHED_ANDESITE_SLAB, Blocks.POLISHED_ANDESITE - ); + ); registerPedestal( "diorite_pedestal", EndBlocks.DIORITE_PEDESTAL, Blocks.POLISHED_DIORITE_SLAB, Blocks.POLISHED_DIORITE - ); + ); registerPedestal( "granite_pedestal", EndBlocks.GRANITE_PEDESTAL, Blocks.POLISHED_GRANITE_SLAB, Blocks.POLISHED_GRANITE - ); + ); registerPedestal("quartz_pedestal", EndBlocks.QUARTZ_PEDESTAL, Blocks.QUARTZ_SLAB, Blocks.QUARTZ_PILLAR); registerPedestal("purpur_pedestal", EndBlocks.PURPUR_PEDESTAL, Blocks.PURPUR_SLAB, Blocks.PURPUR_PILLAR); diff --git a/src/main/java/org/betterx/betterend/recipe/FurnaceRecipes.java b/src/main/java/org/betterx/betterend/recipe/FurnaceRecipes.java index dbf59498..f7f0b155 100644 --- a/src/main/java/org/betterx/betterend/recipe/FurnaceRecipes.java +++ b/src/main/java/org/betterx/betterend/recipe/FurnaceRecipes.java @@ -1,14 +1,14 @@ package org.betterx.betterend.recipe; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Blocks; - import org.betterx.bclib.recipes.FurnaceRecipe; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.config.Configs; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndItems; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Blocks; + public class FurnaceRecipes { public static void register() { FurnaceRecipe.make( @@ -16,7 +16,7 @@ public class FurnaceRecipes { "end_lily_leaf_dried", EndItems.END_LILY_LEAF, EndItems.END_LILY_LEAF_DRIED - ).checkConfig(Configs.RECIPE_CONFIG).build(); + ).checkConfig(Configs.RECIPE_CONFIG).build(); FurnaceRecipe.make(BetterEnd.MOD_ID, "end_glass", EndBlocks.ENDSTONE_DUST, Blocks.GLASS) .checkConfig(Configs.RECIPE_CONFIG) .build(); @@ -37,7 +37,7 @@ public class FurnaceRecipes { "chorus_mushroom", EndItems.CHORUS_MUSHROOM_RAW, EndItems.CHORUS_MUSHROOM_COOKED - ).checkConfig(Configs.RECIPE_CONFIG).buildFoodlike(); + ).checkConfig(Configs.RECIPE_CONFIG).buildFoodlike(); FurnaceRecipe.make(BetterEnd.MOD_ID, "bolux_mushroom", EndBlocks.BOLUX_MUSHROOM, EndItems.BOLUX_MUSHROOM_COOKED) .checkConfig(Configs.RECIPE_CONFIG) .buildFoodlike(); diff --git a/src/main/java/org/betterx/betterend/recipe/InfusionRecipes.java b/src/main/java/org/betterx/betterend/recipe/InfusionRecipes.java index 365becfb..32a09c62 100644 --- a/src/main/java/org/betterx/betterend/recipe/InfusionRecipes.java +++ b/src/main/java/org/betterx/betterend/recipe/InfusionRecipes.java @@ -1,5 +1,9 @@ package org.betterx.betterend.recipe; +import org.betterx.betterend.recipe.builders.InfusionRecipe; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.world.item.EnchantedBookItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -8,10 +12,6 @@ import net.minecraft.world.item.enchantment.EnchantmentInstance; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.block.Blocks; -import org.betterx.betterend.recipe.builders.InfusionRecipe; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - public class InfusionRecipes { public static void register() { InfusionRecipe.Builder.create("runed_flavolite") diff --git a/src/main/java/org/betterx/betterend/recipe/SmithingRecipes.java b/src/main/java/org/betterx/betterend/recipe/SmithingRecipes.java index 5f028919..9ed7e7cd 100644 --- a/src/main/java/org/betterx/betterend/recipe/SmithingRecipes.java +++ b/src/main/java/org/betterx/betterend/recipe/SmithingRecipes.java @@ -1,13 +1,13 @@ package org.betterx.betterend.recipe; -import net.minecraft.world.item.Items; - import org.betterx.bclib.recipes.SmithingTableRecipe; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.config.Configs; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndItems; +import net.minecraft.world.item.Items; + public class SmithingRecipes { public static void register() { diff --git a/src/main/java/org/betterx/betterend/recipe/builders/AlloyingRecipe.java b/src/main/java/org/betterx/betterend/recipe/builders/AlloyingRecipe.java index 7a3ab27e..cde02a86 100644 --- a/src/main/java/org/betterx/betterend/recipe/builders/AlloyingRecipe.java +++ b/src/main/java/org/betterx/betterend/recipe/builders/AlloyingRecipe.java @@ -1,5 +1,13 @@ package org.betterx.betterend.recipe.builders; +import org.betterx.bclib.interfaces.UnknownReceipBookCategory; +import org.betterx.bclib.recipes.BCLRecipeManager; +import org.betterx.bclib.util.ItemUtil; +import org.betterx.bclib.util.RecipeHelper; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.NonNullList; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; @@ -20,13 +28,6 @@ import net.fabricmc.api.Environment; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.betterx.bclib.interfaces.UnknownReceipBookCategory; -import org.betterx.bclib.recipes.BCLRecipeManager; -import org.betterx.bclib.util.ItemUtil; -import org.betterx.bclib.util.RecipeHelper; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.registry.EndBlocks; public class AlloyingRecipe implements Recipe, UnknownReceipBookCategory { public final static String GROUP = "alloying"; @@ -35,7 +36,7 @@ public class AlloyingRecipe implements Recipe, UnknownReceipBookCateg BetterEnd.MOD_ID, GROUP, new Serializer() - ); + ); protected final RecipeType type; protected final ResourceLocation id; @@ -46,13 +47,15 @@ public class AlloyingRecipe implements Recipe, UnknownReceipBookCateg protected final float experience; protected final int smeltTime; - public AlloyingRecipe(ResourceLocation id, - String group, - Ingredient primaryInput, - Ingredient secondaryInput, - ItemStack output, - float experience, - int smeltTime) { + public AlloyingRecipe( + ResourceLocation id, + String group, + Ingredient primaryInput, + Ingredient secondaryInput, + ItemStack output, + float experience, + int smeltTime + ) { this.group = group; this.id = id; this.primaryInput = primaryInput; @@ -225,14 +228,14 @@ public class AlloyingRecipe implements Recipe, UnknownReceipBookCateg BetterEnd.LOGGER.warning( "Primary input for Alloying recipe can't be 'null', recipe {} will be ignored!", id - ); + ); return; } if (secondaryInput == null) { BetterEnd.LOGGER.warning( "Secondary input for Alloying can't be 'null', recipe {} will be ignored!", id - ); + ); return; } if (output == null) { @@ -250,7 +253,7 @@ public class AlloyingRecipe implements Recipe, UnknownReceipBookCateg BCLRecipeManager.addRecipe( TYPE, new AlloyingRecipe(id, group, primaryInput, secondaryInput, output, experience, smeltTime) - ); + ); } } } diff --git a/src/main/java/org/betterx/betterend/recipe/builders/InfusionRecipe.java b/src/main/java/org/betterx/betterend/recipe/builders/InfusionRecipe.java index f1bb7ab6..4f96a5b7 100644 --- a/src/main/java/org/betterx/betterend/recipe/builders/InfusionRecipe.java +++ b/src/main/java/org/betterx/betterend/recipe/builders/InfusionRecipe.java @@ -1,5 +1,13 @@ package org.betterx.betterend.recipe.builders; +import org.betterx.bclib.interfaces.UnknownReceipBookCategory; +import org.betterx.bclib.recipes.BCLRecipeManager; +import org.betterx.bclib.util.ItemUtil; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.rituals.InfusionRitual; + +import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.TagParser; @@ -18,13 +26,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import com.google.gson.JsonObject; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import org.betterx.bclib.interfaces.UnknownReceipBookCategory; -import org.betterx.bclib.recipes.BCLRecipeManager; -import org.betterx.bclib.util.ItemUtil; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.rituals.InfusionRitual; import java.util.Arrays; @@ -35,7 +36,7 @@ public class InfusionRecipe implements Recipe, UnknownReceipBook BetterEnd.MOD_ID, GROUP, new Serializer() - ); + ); private final ResourceLocation id; private final Ingredient[] catalysts; @@ -184,14 +185,14 @@ public class InfusionRecipe implements Recipe, UnknownReceipBook BetterEnd.LOGGER.warning( "Input for Infusion recipe can't be 'null', recipe {} will be ignored!", id - ); + ); return; } if (output == null) { BetterEnd.LOGGER.warning( "Output for Infusion recipe can't be 'null', recipe {} will be ignored!", id - ); + ); return; } InfusionRecipe recipe = new InfusionRecipe(id, input, output); diff --git a/src/main/java/org/betterx/betterend/registry/EndAttributes.java b/src/main/java/org/betterx/betterend/registry/EndAttributes.java index c18f611c..e9df8d36 100644 --- a/src/main/java/org/betterx/betterend/registry/EndAttributes.java +++ b/src/main/java/org/betterx/betterend/registry/EndAttributes.java @@ -1,12 +1,12 @@ package org.betterx.betterend.registry; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.item.EndAttribute; + import net.minecraft.core.Registry; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.item.EndAttribute; - public class EndAttributes { public final static Attribute BLINDNESS_RESISTANCE = registerAttribute("generic.blindness_resistance", 0.0, true); @@ -15,7 +15,7 @@ public class EndAttributes { Registry.ATTRIBUTE, BetterEnd.makeID(name), new EndAttribute("attribute.name." + name, value).setSyncable(syncable) - ); + ); } public static AttributeSupplier.Builder addLivingEntityAttributes(AttributeSupplier.Builder builder) { diff --git a/src/main/java/org/betterx/betterend/registry/EndBiomes.java b/src/main/java/org/betterx/betterend/registry/EndBiomes.java index a9feaad0..8eaee62e 100644 --- a/src/main/java/org/betterx/betterend/registry/EndBiomes.java +++ b/src/main/java/org/betterx/betterend/registry/EndBiomes.java @@ -1,10 +1,5 @@ package org.betterx.betterend.registry; -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.level.biome.Biome; - import org.betterx.bclib.api.v2.LifeCycleAPI; import org.betterx.bclib.api.v2.generator.BiomePicker; import org.betterx.bclib.api.v2.generator.map.hex.HexBiomeMap; @@ -18,6 +13,11 @@ import org.betterx.betterend.world.biome.land.*; import org.betterx.betterend.world.generator.BiomeType; import org.betterx.betterend.world.generator.GeneratorOptions; +import net.minecraft.core.Registry; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.level.biome.Biome; + public class EndBiomes { public static final BiomeAPI.BiomeType END_CAVE = new BiomeAPI.BiomeType("END_CAVE", BiomeAPI.BiomeType.END); diff --git a/src/main/java/org/betterx/betterend/registry/EndBlockEntities.java b/src/main/java/org/betterx/betterend/registry/EndBlockEntities.java index 414a0a56..68ca4b93 100644 --- a/src/main/java/org/betterx/betterend/registry/EndBlockEntities.java +++ b/src/main/java/org/betterx/betterend/registry/EndBlockEntities.java @@ -1,5 +1,10 @@ package org.betterx.betterend.registry; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.EndStoneSmelter; +import org.betterx.betterend.blocks.basis.PedestalBlock; +import org.betterx.betterend.blocks.entities.*; + import net.minecraft.core.Registry; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; @@ -7,35 +12,32 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.EndStoneSmelter; -import org.betterx.betterend.blocks.basis.PedestalBlock; -import org.betterx.betterend.blocks.entities.*; - public class EndBlockEntities { public final static BlockEntityType END_STONE_SMELTER = registerBlockEntity( EndStoneSmelter.ID, FabricBlockEntityTypeBuilder.create(EndStoneSmelterBlockEntity::new, EndBlocks.END_STONE_SMELTER) - ); + ); public final static BlockEntityType PEDESTAL = registerBlockEntity( "pedestal", FabricBlockEntityTypeBuilder.create(PedestalBlockEntity::new, getPedestals()) - ); + ); public final static BlockEntityType ETERNAL_PEDESTAL = registerBlockEntity( "eternal_pedestal", FabricBlockEntityTypeBuilder.create(EternalPedestalEntity::new, EndBlocks.ETERNAL_PEDESTAL) - ); + ); public final static BlockEntityType INFUSION_PEDESTAL = registerBlockEntity( "infusion_pedestal", FabricBlockEntityTypeBuilder.create(InfusionPedestalEntity::new, EndBlocks.INFUSION_PEDESTAL) - ); + ); public final static BlockEntityType HYDROTHERMAL_VENT = registerBlockEntity( "hydrother_malvent", FabricBlockEntityTypeBuilder.create(BlockEntityHydrothermalVent::new, EndBlocks.HYDROTHERMAL_VENT) - ); + ); - public static BlockEntityType registerBlockEntity(String id, - FabricBlockEntityTypeBuilder builder) { + public static BlockEntityType registerBlockEntity( + String id, + FabricBlockEntityTypeBuilder builder + ) { return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.makeID(id), builder.build(null)); //return Registry.register(Registry.BLOCK_ENTITY_TYPE, BetterEnd.makeID(id), builder.build(null)); diff --git a/src/main/java/org/betterx/betterend/registry/EndBlockEntityRenders.java b/src/main/java/org/betterx/betterend/registry/EndBlockEntityRenders.java index e6aeeed5..29c2d83b 100644 --- a/src/main/java/org/betterx/betterend/registry/EndBlockEntityRenders.java +++ b/src/main/java/org/betterx/betterend/registry/EndBlockEntityRenders.java @@ -1,11 +1,11 @@ package org.betterx.betterend.registry; +import org.betterx.betterend.client.render.PedestalItemRenderer; + import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry; -import org.betterx.betterend.client.render.PedestalItemRenderer; - @Environment(EnvType.CLIENT) public class EndBlockEntityRenders { public static void register() { diff --git a/src/main/java/org/betterx/betterend/registry/EndBlocks.java b/src/main/java/org/betterx/betterend/registry/EndBlocks.java index 9cc235bf..d543e6c2 100644 --- a/src/main/java/org/betterx/betterend/registry/EndBlocks.java +++ b/src/main/java/org/betterx/betterend/registry/EndBlocks.java @@ -1,13 +1,5 @@ package org.betterx.betterend.registry; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.material.MaterialColor; - -import net.fabricmc.fabric.api.item.v1.FabricItemSettings; - import org.betterx.bclib.blocks.*; import org.betterx.bclib.registry.BlockRegistry; import org.betterx.betterend.BetterEnd; @@ -19,6 +11,14 @@ import org.betterx.betterend.item.material.EndArmorMaterial; import org.betterx.betterend.item.material.EndToolMaterial; import org.betterx.betterend.tab.CreativeTabs; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.MaterialColor; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; + import java.util.List; import org.jetbrains.annotations.NotNull; @@ -27,34 +27,50 @@ public class EndBlocks { // Terrain // public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new EndstoneDustBlock()); - public static final Block END_MYCELIUM = registerBlock("end_mycelium", - new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE)); + public static final Block END_MYCELIUM = registerBlock( + "end_mycelium", + new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE) + ); public static final Block END_MOSS = registerBlock("end_moss", new EndTerrainBlock(MaterialColor.COLOR_CYAN)); - public static final Block CHORUS_NYLIUM = registerBlock("chorus_nylium", - new EndTerrainBlock(MaterialColor.COLOR_MAGENTA)); + public static final Block CHORUS_NYLIUM = registerBlock( + "chorus_nylium", + new EndTerrainBlock(MaterialColor.COLOR_MAGENTA) + ); public static final Block CAVE_MOSS = registerBlock("cave_moss", new EndTripleTerrain(MaterialColor.COLOR_PURPLE)); - public static final Block CRYSTAL_MOSS = registerBlock("crystal_moss", - new EndTerrainBlock(MaterialColor.COLOR_PINK)); + public static final Block CRYSTAL_MOSS = registerBlock( + "crystal_moss", + new EndTerrainBlock(MaterialColor.COLOR_PINK) + ); public static final Block SHADOW_GRASS = registerBlock("shadow_grass", new ShadowGrassBlock()); public static final Block PINK_MOSS = registerBlock("pink_moss", new EndTerrainBlock(MaterialColor.COLOR_PINK)); public static final Block AMBER_MOSS = registerBlock("amber_moss", new EndTerrainBlock(MaterialColor.COLOR_ORANGE)); - public static final Block JUNGLE_MOSS = registerBlock("jungle_moss", - new EndTerrainBlock(MaterialColor.COLOR_GREEN)); + public static final Block JUNGLE_MOSS = registerBlock( + "jungle_moss", + new EndTerrainBlock(MaterialColor.COLOR_GREEN) + ); public static final Block SANGNUM = registerBlock("sangnum", new EndTerrainBlock(MaterialColor.COLOR_RED)); public static final Block RUTISCUS = registerBlock("rutiscus", new EndTerrainBlock(MaterialColor.COLOR_ORANGE)); public static final Block PALLIDIUM_FULL = registerBlock("pallidium_full", new PallidiumBlock("full", null)); - public static final Block PALLIDIUM_HEAVY = registerBlock("pallidium_heavy", - new PallidiumBlock("heavy", PALLIDIUM_FULL)); - public static final Block PALLIDIUM_THIN = registerBlock("pallidium_thin", - new PallidiumBlock("thin", PALLIDIUM_HEAVY)); - public static final Block PALLIDIUM_TINY = registerBlock("pallidium_tiny", - new PallidiumBlock("tiny", PALLIDIUM_THIN)); + public static final Block PALLIDIUM_HEAVY = registerBlock( + "pallidium_heavy", + new PallidiumBlock("heavy", PALLIDIUM_FULL) + ); + public static final Block PALLIDIUM_THIN = registerBlock( + "pallidium_thin", + new PallidiumBlock("thin", PALLIDIUM_HEAVY) + ); + public static final Block PALLIDIUM_TINY = registerBlock( + "pallidium_tiny", + new PallidiumBlock("tiny", PALLIDIUM_THIN) + ); // Roads // public static final Block END_MYCELIUM_PATH = registerBlock("end_mycelium_path", new BasePathBlock(END_MYCELIUM)); public static final Block END_MOSS_PATH = registerBlock("end_moss_path", new BasePathBlock(END_MOSS)); - public static final Block CHORUS_NYLIUM_PATH = registerBlock("chorus_nylium_path", - new BasePathBlock(CHORUS_NYLIUM)); + public static final Block CHORUS_NYLIUM_PATH = registerBlock( + "chorus_nylium_path", + new BasePathBlock(CHORUS_NYLIUM) + ); public static final Block CAVE_MOSS_PATH = registerBlock("cave_moss_path", new BasePathBlock(CAVE_MOSS)); public static final Block CRYSTAL_MOSS_PATH = registerBlock("crystal_moss_path", new BasePathBlock(CRYSTAL_MOSS)); public static final Block SHADOW_GRASS_PATH = registerBlock("shadow_grass_path", new BasePathBlock(SHADOW_GRASS)); @@ -65,12 +81,18 @@ public class EndBlocks { public static final Block RUTISCUS_PATH = registerBlock("rutiscus_path", new BasePathBlock(RUTISCUS)); public static final Block MOSSY_OBSIDIAN = registerBlock("mossy_obsidian", new MossyObsidian()); - public static final Block DRAGON_BONE_BLOCK = registerBlock("dragon_bone_block", - new BaseRotatedPillarBlock(Blocks.BONE_BLOCK)); - public static final Block DRAGON_BONE_STAIRS = registerBlock("dragon_bone_stairs", - new BaseStairsBlock(DRAGON_BONE_BLOCK)); - public static final Block DRAGON_BONE_SLAB = registerBlock("dragon_bone_slab", - new BaseSlabBlock(DRAGON_BONE_BLOCK)); + public static final Block DRAGON_BONE_BLOCK = registerBlock( + "dragon_bone_block", + new BaseRotatedPillarBlock(Blocks.BONE_BLOCK) + ); + public static final Block DRAGON_BONE_STAIRS = registerBlock( + "dragon_bone_stairs", + new BaseStairsBlock(DRAGON_BONE_BLOCK) + ); + public static final Block DRAGON_BONE_SLAB = registerBlock( + "dragon_bone_slab", + new BaseSlabBlock(DRAGON_BONE_BLOCK) + ); public static final Block MOSSY_DRAGON_BONE = registerBlock("mossy_dragon_bone", new MossyDragonBoneBlock()); // Rocks // @@ -78,67 +100,103 @@ public class EndBlocks { public static final StoneMaterial VIOLECITE = new StoneMaterial("violecite", MaterialColor.COLOR_PURPLE); public static final StoneMaterial SULPHURIC_ROCK = new StoneMaterial("sulphuric_rock", MaterialColor.COLOR_BROWN); public static final StoneMaterial VIRID_JADESTONE = new StoneMaterial("virid_jadestone", MaterialColor.COLOR_GREEN); - public static final StoneMaterial AZURE_JADESTONE = new StoneMaterial("azure_jadestone", - MaterialColor.COLOR_LIGHT_BLUE); - public static final StoneMaterial SANDY_JADESTONE = new StoneMaterial("sandy_jadestone", - MaterialColor.COLOR_YELLOW); + public static final StoneMaterial AZURE_JADESTONE = new StoneMaterial( + "azure_jadestone", + MaterialColor.COLOR_LIGHT_BLUE + ); + public static final StoneMaterial SANDY_JADESTONE = new StoneMaterial( + "sandy_jadestone", + MaterialColor.COLOR_YELLOW + ); public static final StoneMaterial UMBRALITH = new StoneMaterial("umbralith", MaterialColor.DEEPSLATE); public static final Block BRIMSTONE = registerBlock("brimstone", new BrimstoneBlock()); public static final Block SULPHUR_CRYSTAL = registerBlock("sulphur_crystal", new SulphurCrystalBlock()); public static final Block MISSING_TILE = registerBlock("missing_tile", new MissingTileBlock()); - public static final Block ENDSTONE_FLOWER_POT = registerBlock("endstone_flower_pot", - new FlowerPotBlock(Blocks.END_STONE)); + public static final Block ENDSTONE_FLOWER_POT = registerBlock( + "endstone_flower_pot", + new FlowerPotBlock(Blocks.END_STONE) + ); public static final Block FLAVOLITE_RUNED = registerBlock("flavolite_runed", new RunedFlavolite(false)); - public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock("flavolite_runed_eternal", - new RunedFlavolite(true)); + public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock( + "flavolite_runed_eternal", + new RunedFlavolite(true) + ); - public static final Block ANDESITE_PEDESTAL = registerBlock("andesite_pedestal", - new PedestalVanilla(Blocks.ANDESITE)); + public static final Block ANDESITE_PEDESTAL = registerBlock( + "andesite_pedestal", + new PedestalVanilla(Blocks.ANDESITE) + ); public static final Block DIORITE_PEDESTAL = registerBlock("diorite_pedestal", new PedestalVanilla(Blocks.DIORITE)); public static final Block GRANITE_PEDESTAL = registerBlock("granite_pedestal", new PedestalVanilla(Blocks.GRANITE)); - public static final Block QUARTZ_PEDESTAL = registerBlock("quartz_pedestal", - new PedestalVanilla(Blocks.QUARTZ_BLOCK)); - public static final Block PURPUR_PEDESTAL = registerBlock("purpur_pedestal", - new PedestalVanilla(Blocks.PURPUR_BLOCK)); + public static final Block QUARTZ_PEDESTAL = registerBlock( + "quartz_pedestal", + new PedestalVanilla(Blocks.QUARTZ_BLOCK) + ); + public static final Block PURPUR_PEDESTAL = registerBlock( + "purpur_pedestal", + new PedestalVanilla(Blocks.PURPUR_BLOCK) + ); public static final Block HYDROTHERMAL_VENT = registerBlock("hydrothermal_vent", new HydrothermalVentBlock()); - public static final Block VENT_BUBBLE_COLUMN = registerEndBlockOnly("vent_bubble_column", - new VentBubbleColumnBlock()); + public static final Block VENT_BUBBLE_COLUMN = registerEndBlockOnly( + "vent_bubble_column", + new VentBubbleColumnBlock() + ); public static final Block DENSE_SNOW = registerBlock("dense_snow", new DenseSnowBlock()); public static final Block EMERALD_ICE = registerBlock("emerald_ice", new EmeraldIceBlock()); public static final Block DENSE_EMERALD_ICE = registerBlock("dense_emerald_ice", new DenseEmeraldIceBlock()); public static final Block ANCIENT_EMERALD_ICE = registerBlock("ancient_emerald_ice", new AncientEmeraldIceBlock()); - public static final Block END_STONE_STALACTITE = registerBlock("end_stone_stalactite", - new StalactiteBlock(Blocks.END_STONE)); - public static final Block END_STONE_STALACTITE_CAVEMOSS = registerBlock("end_stone_stalactite_cavemoss", - new StalactiteBlock(CAVE_MOSS)); + public static final Block END_STONE_STALACTITE = registerBlock( + "end_stone_stalactite", + new StalactiteBlock(Blocks.END_STONE) + ); + public static final Block END_STONE_STALACTITE_CAVEMOSS = registerBlock( + "end_stone_stalactite_cavemoss", + new StalactiteBlock(CAVE_MOSS) + ); // Wooden Materials And Trees // - public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock("mossy_glowshroom_sapling", - new MossyGlowshroomSaplingBlock()); - public static final Block MOSSY_GLOWSHROOM_CAP = registerBlock("mossy_glowshroom_cap", - new MossyGlowshroomCapBlock()); - public static final Block MOSSY_GLOWSHROOM_HYMENOPHORE = registerBlock("mossy_glowshroom_hymenophore", - new GlowingHymenophoreBlock()); - public static final Block MOSSY_GLOWSHROOM_FUR = registerBlock("mossy_glowshroom_fur", - new FurBlock(MOSSY_GLOWSHROOM_SAPLING, - 15, - 16, - true)); + public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock( + "mossy_glowshroom_sapling", + new MossyGlowshroomSaplingBlock() + ); + public static final Block MOSSY_GLOWSHROOM_CAP = registerBlock( + "mossy_glowshroom_cap", + new MossyGlowshroomCapBlock() + ); + public static final Block MOSSY_GLOWSHROOM_HYMENOPHORE = registerBlock( + "mossy_glowshroom_hymenophore", + new GlowingHymenophoreBlock() + ); + public static final Block MOSSY_GLOWSHROOM_FUR = registerBlock( + "mossy_glowshroom_fur", + new FurBlock( + MOSSY_GLOWSHROOM_SAPLING, + 15, + 16, + true + ) + ); public static final EndWoodenComplexMaterial MOSSY_GLOWSHROOM = new EndWoodenComplexMaterial( "mossy_glowshroom", MaterialColor.COLOR_GRAY, MaterialColor.WOOD ).init(); - public static final Block PYTHADENDRON_SAPLING = registerBlock("pythadendron_sapling", - new PythadendronSaplingBlock()); - public static final Block PYTHADENDRON_LEAVES = registerBlock("pythadendron_leaves", - new PottableLeavesBlock(PYTHADENDRON_SAPLING, - MaterialColor.COLOR_MAGENTA)); + public static final Block PYTHADENDRON_SAPLING = registerBlock( + "pythadendron_sapling", + new PythadendronSaplingBlock() + ); + public static final Block PYTHADENDRON_LEAVES = registerBlock( + "pythadendron_leaves", + new PottableLeavesBlock( + PYTHADENDRON_SAPLING, + MaterialColor.COLOR_MAGENTA + ) + ); public static final EndWoodenComplexMaterial PYTHADENDRON = new EndWoodenComplexMaterial( "pythadendron", MaterialColor.COLOR_MAGENTA, @@ -156,9 +214,13 @@ public class EndBlocks { ).init(); public static final Block LACUGROVE_SAPLING = registerBlock("lacugrove_sapling", new LacugroveSaplingBlock()); - public static final Block LACUGROVE_LEAVES = registerBlock("lacugrove_leaves", - new PottableLeavesBlock(LACUGROVE_SAPLING, - MaterialColor.COLOR_CYAN)); + public static final Block LACUGROVE_LEAVES = registerBlock( + "lacugrove_leaves", + new PottableLeavesBlock( + LACUGROVE_SAPLING, + MaterialColor.COLOR_CYAN + ) + ); public static final EndWoodenComplexMaterial LACUGROVE = new EndWoodenComplexMaterial( "lacugrove", MaterialColor.COLOR_BROWN, @@ -166,9 +228,13 @@ public class EndBlocks { ).init(); public static final Block DRAGON_TREE_SAPLING = registerBlock("dragon_tree_sapling", new DragonTreeSaplingBlock()); - public static final Block DRAGON_TREE_LEAVES = registerBlock("dragon_tree_leaves", - new PottableLeavesBlock(DRAGON_TREE_SAPLING, - MaterialColor.COLOR_MAGENTA)); + public static final Block DRAGON_TREE_LEAVES = registerBlock( + "dragon_tree_leaves", + new PottableLeavesBlock( + DRAGON_TREE_SAPLING, + MaterialColor.COLOR_MAGENTA + ) + ); public static final EndWoodenComplexMaterial DRAGON_TREE = new EndWoodenComplexMaterial( "dragon_tree", MaterialColor.COLOR_BLACK, @@ -176,12 +242,18 @@ public class EndBlocks { ).init(); public static final Block TENANEA_SAPLING = registerBlock("tenanea_sapling", new TenaneaSaplingBlock()); - public static final Block TENANEA_LEAVES = registerBlock("tenanea_leaves", - new PottableLeavesBlock(TENANEA_SAPLING, - MaterialColor.COLOR_PINK)); + public static final Block TENANEA_LEAVES = registerBlock( + "tenanea_leaves", + new PottableLeavesBlock( + TENANEA_SAPLING, + MaterialColor.COLOR_PINK + ) + ); public static final Block TENANEA_FLOWERS = registerBlock("tenanea_flowers", new TenaneaFlowersBlock()); - public static final Block TENANEA_OUTER_LEAVES = registerBlock("tenanea_outer_leaves", - new FurBlock(TENANEA_SAPLING, 32)); + public static final Block TENANEA_OUTER_LEAVES = registerBlock( + "tenanea_outer_leaves", + new FurBlock(TENANEA_SAPLING, 32) + ); public static final EndWoodenComplexMaterial TENANEA = new EndWoodenComplexMaterial( "tenanea", MaterialColor.COLOR_BROWN, @@ -196,27 +268,39 @@ public class EndBlocks { MaterialColor.COLOR_ORANGE ).init(); - public static final Block UMBRELLA_TREE_SAPLING = registerBlock("umbrella_tree_sapling", - new UmbrellaTreeSaplingBlock()); - public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock("umbrella_tree_membrane", - new UmbrellaTreeMembraneBlock()); - public static final Block UMBRELLA_TREE_CLUSTER = registerBlock("umbrella_tree_cluster", - new UmbrellaTreeClusterBlock()); - public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock("umbrella_tree_cluster_empty", - new UmbrellaTreeClusterEmptyBlock()); + public static final Block UMBRELLA_TREE_SAPLING = registerBlock( + "umbrella_tree_sapling", + new UmbrellaTreeSaplingBlock() + ); + public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock( + "umbrella_tree_membrane", + new UmbrellaTreeMembraneBlock() + ); + public static final Block UMBRELLA_TREE_CLUSTER = registerBlock( + "umbrella_tree_cluster", + new UmbrellaTreeClusterBlock() + ); + public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock( + "umbrella_tree_cluster_empty", + new UmbrellaTreeClusterEmptyBlock() + ); public static final EndWoodenComplexMaterial UMBRELLA_TREE = new EndWoodenComplexMaterial( "umbrella_tree", MaterialColor.COLOR_BLUE, MaterialColor.COLOR_GREEN ).init(); - public static final Block JELLYSHROOM_CAP_PURPLE = registerBlock("jellyshroom_cap_purple", - new JellyshroomCapBlock(217, - 142, - 255, - 164, - 0, - 255)); + public static final Block JELLYSHROOM_CAP_PURPLE = registerBlock( + "jellyshroom_cap_purple", + new JellyshroomCapBlock( + 217, + 142, + 255, + 164, + 0, + 255 + ) + ); public static final EndWoodenComplexMaterial JELLYSHROOM = new EndWoodenComplexMaterial( "jellyshroom", MaterialColor.COLOR_PURPLE, @@ -224,11 +308,17 @@ public class EndBlocks { ).init(); public static final Block LUCERNIA_SAPLING = registerBlock("lucernia_sapling", new LucerniaSaplingBlock()); - public static final Block LUCERNIA_LEAVES = registerBlock("lucernia_leaves", - new PottableLeavesBlock(LUCERNIA_SAPLING, - MaterialColor.COLOR_ORANGE)); - public static final Block LUCERNIA_OUTER_LEAVES = registerBlock("lucernia_outer_leaves", - new FurBlock(LUCERNIA_SAPLING, 32)); + public static final Block LUCERNIA_LEAVES = registerBlock( + "lucernia_leaves", + new PottableLeavesBlock( + LUCERNIA_SAPLING, + MaterialColor.COLOR_ORANGE + ) + ); + public static final Block LUCERNIA_OUTER_LEAVES = registerBlock( + "lucernia_outer_leaves", + new FurBlock(LUCERNIA_SAPLING, 32) + ); public static final EndWoodenComplexMaterial LUCERNIA = new EndWoodenComplexMaterial( "lucernia", MaterialColor.COLOR_ORANGE, @@ -245,50 +335,74 @@ public class EndBlocks { public static final Block SHADOW_PLANT = registerBlock("shadow_plant", new TerrainPlantBlock(SHADOW_GRASS)); public static final Block BUSHY_GRASS = registerBlock("bushy_grass", new TerrainPlantBlock(PINK_MOSS)); public static final Block AMBER_GRASS = registerBlock("amber_grass", new TerrainPlantBlock(AMBER_MOSS)); - public static final Block TWISTED_UMBRELLA_MOSS = registerBlock("twisted_umbrella_moss", - new TwistedUmbrellaMossBlock()); - public static final Block TWISTED_UMBRELLA_MOSS_TALL = registerBlock("twisted_umbrella_moss_tall", - new TwistedUmbrellaMossTallBlock()); + public static final Block TWISTED_UMBRELLA_MOSS = registerBlock( + "twisted_umbrella_moss", + new TwistedUmbrellaMossBlock() + ); + public static final Block TWISTED_UMBRELLA_MOSS_TALL = registerBlock( + "twisted_umbrella_moss_tall", + new TwistedUmbrellaMossTallBlock() + ); public static final Block JUNGLE_GRASS = registerBlock("jungle_grass", new TerrainPlantBlock(JUNGLE_MOSS)); public static final Block BLOOMING_COOKSONIA = registerBlock("blooming_cooksonia", new TerrainPlantBlock(END_MOSS)); public static final Block SALTEAGO = registerBlock("salteago", new TerrainPlantBlock(END_MOSS)); public static final Block VAIOLUSH_FERN = registerBlock("vaiolush_fern", new TerrainPlantBlock(END_MOSS)); public static final Block FRACTURN = registerBlock("fracturn", new TerrainPlantBlock(END_MOSS)); - public static final Block CLAWFERN = registerBlock("clawfern", - new TerrainPlantBlock(SANGNUM, - MOSSY_OBSIDIAN, - MOSSY_DRAGON_BONE)); - public static final Block GLOBULAGUS = registerBlock("globulagus", - new TerrainPlantBlock(SANGNUM, - MOSSY_OBSIDIAN, - MOSSY_DRAGON_BONE)); + public static final Block CLAWFERN = registerBlock( + "clawfern", + new TerrainPlantBlock( + SANGNUM, + MOSSY_OBSIDIAN, + MOSSY_DRAGON_BONE + ) + ); + public static final Block GLOBULAGUS = registerBlock( + "globulagus", + new TerrainPlantBlock( + SANGNUM, + MOSSY_OBSIDIAN, + MOSSY_DRAGON_BONE + ) + ); public static final Block ORANGO = registerBlock("orango", new TerrainPlantBlock(RUTISCUS)); public static final Block AERIDIUM = registerBlock("aeridium", new TerrainPlantBlock(RUTISCUS)); public static final Block LUTEBUS = registerBlock("lutebus", new TerrainPlantBlock(RUTISCUS)); public static final Block LAMELLARIUM = registerBlock("lamellarium", new TerrainPlantBlock(RUTISCUS)); - public static final Block INFLEXIA = registerBlock("inflexia", - new TerrainPlantBlock(PALLIDIUM_FULL, - PALLIDIUM_HEAVY, - PALLIDIUM_THIN, - PALLIDIUM_TINY)); + public static final Block INFLEXIA = registerBlock( + "inflexia", + new TerrainPlantBlock( + PALLIDIUM_FULL, + PALLIDIUM_HEAVY, + PALLIDIUM_THIN, + PALLIDIUM_TINY + ) + ); public static final Block FLAMMALIX = registerBlock("flammalix", new FlammalixBlock()); public static final Block BLUE_VINE_SEED = registerBlock("blue_vine_seed", new BlueVineSeedBlock()); public static final Block BLUE_VINE = registerEndBlockOnly("blue_vine", new BlueVineBlock()); public static final Block BLUE_VINE_LANTERN = registerBlock("blue_vine_lantern", new BlueVineLanternBlock()); - public static final Block BLUE_VINE_FUR = registerBlock("blue_vine_fur", - new FurBlock(BLUE_VINE_SEED, 15, 3, false)); + public static final Block BLUE_VINE_FUR = registerBlock( + "blue_vine_fur", + new FurBlock(BLUE_VINE_SEED, 15, 3, false) + ); public static final Block LANCELEAF_SEED = registerBlock("lanceleaf_seed", new LanceleafSeedBlock()); public static final Block LANCELEAF = registerEndBlockOnly("lanceleaf", new LanceleafBlock()); public static final Block GLOWING_PILLAR_SEED = registerBlock("glowing_pillar_seed", new GlowingPillarSeedBlock()); - public static final Block GLOWING_PILLAR_ROOTS = registerEndBlockOnly("glowing_pillar_roots", - new GlowingPillarRootsBlock()); - public static final Block GLOWING_PILLAR_LUMINOPHOR = registerBlock("glowing_pillar_luminophor", - new GlowingPillarLuminophorBlock()); - public static final Block GLOWING_PILLAR_LEAVES = registerBlock("glowing_pillar_leaves", - new FurBlock(GLOWING_PILLAR_SEED, 15, 3, false)); + public static final Block GLOWING_PILLAR_ROOTS = registerEndBlockOnly( + "glowing_pillar_roots", + new GlowingPillarRootsBlock() + ); + public static final Block GLOWING_PILLAR_LUMINOPHOR = registerBlock( + "glowing_pillar_luminophor", + new GlowingPillarLuminophorBlock() + ); + public static final Block GLOWING_PILLAR_LEAVES = registerBlock( + "glowing_pillar_leaves", + new FurBlock(GLOWING_PILLAR_SEED, 15, 3, false) + ); public static final Block SMALL_JELLYSHROOM = registerBlock("small_jellyshroom", new SmallJellyshroomBlock()); public static final Block BOLUX_MUSHROOM = registerBlock("bolux_mushroom", new BoluxMushroomBlock()); @@ -296,35 +410,55 @@ public class EndBlocks { public static final Block LUMECORN_SEED = registerBlock("lumecorn_seed", new LumecornSeedBlock()); public static final Block LUMECORN = registerEndBlockOnly("lumecorn", new LumecornBlock()); - public static final Block SMALL_AMARANITA_MUSHROOM = registerBlock("small_amaranita_mushroom", - new SmallAmaranitaBlock()); - public static final Block LARGE_AMARANITA_MUSHROOM = registerEndBlockOnly("large_amaranita_mushroom", - new LargeAmaranitaBlock()); + public static final Block SMALL_AMARANITA_MUSHROOM = registerBlock( + "small_amaranita_mushroom", + new SmallAmaranitaBlock() + ); + public static final Block LARGE_AMARANITA_MUSHROOM = registerEndBlockOnly( + "large_amaranita_mushroom", + new LargeAmaranitaBlock() + ); public static final Block AMARANITA_STEM = registerBlock("amaranita_stem", new AmaranitaStemBlock()); public static final Block AMARANITA_HYPHAE = registerBlock("amaranita_hyphae", new AmaranitaStemBlock()); - public static final Block AMARANITA_HYMENOPHORE = registerBlock("amaranita_hymenophore", - new AmaranitaHymenophoreBlock()); + public static final Block AMARANITA_HYMENOPHORE = registerBlock( + "amaranita_hymenophore", + new AmaranitaHymenophoreBlock() + ); public static final Block AMARANITA_LANTERN = registerBlock("amaranita_lantern", new GlowingHymenophoreBlock()); - public static final Block AMARANITA_FUR = registerBlock("amaranita_fur", - new FurBlock(SMALL_AMARANITA_MUSHROOM, 15, 4, true)); + public static final Block AMARANITA_FUR = registerBlock( + "amaranita_fur", + new FurBlock(SMALL_AMARANITA_MUSHROOM, 15, 4, true) + ); public static final Block AMARANITA_CAP = registerBlock("amaranita_cap", new AmaranitaCapBlock()); public static final Block NEON_CACTUS = registerBlock("neon_cactus", new NeonCactusPlantBlock()); public static final Block NEON_CACTUS_BLOCK = registerBlock("neon_cactus_block", new NeonCactusBlock()); - public static final Block NEON_CACTUS_BLOCK_STAIRS = registerBlock("neon_cactus_stairs", - new BaseStairsBlock(NEON_CACTUS_BLOCK)); - public static final Block NEON_CACTUS_BLOCK_SLAB = registerBlock("neon_cactus_slab", - new BaseSlabBlock(NEON_CACTUS_BLOCK)); + public static final Block NEON_CACTUS_BLOCK_STAIRS = registerBlock( + "neon_cactus_stairs", + new BaseStairsBlock(NEON_CACTUS_BLOCK) + ); + public static final Block NEON_CACTUS_BLOCK_SLAB = registerBlock( + "neon_cactus_slab", + new BaseSlabBlock(NEON_CACTUS_BLOCK) + ); // Crops public static final Block SHADOW_BERRY = registerBlock("shadow_berry", new ShadowBerryBlock()); - public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed", - new PottableCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS)); - public static final Block AMBER_ROOT = registerBlock("amber_root_seed", - new PottableCropBlock(EndItems.AMBER_ROOT_RAW, AMBER_MOSS)); - public static final Block CHORUS_MUSHROOM = registerBlock("chorus_mushroom_seed", - new PottableCropBlock(EndItems.CHORUS_MUSHROOM_RAW, - CHORUS_NYLIUM)); + public static final Block BLOSSOM_BERRY = registerBlock( + "blossom_berry_seed", + new PottableCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS) + ); + public static final Block AMBER_ROOT = registerBlock( + "amber_root_seed", + new PottableCropBlock(EndItems.AMBER_ROOT_RAW, AMBER_MOSS) + ); + public static final Block CHORUS_MUSHROOM = registerBlock( + "chorus_mushroom_seed", + new PottableCropBlock( + EndItems.CHORUS_MUSHROOM_RAW, + CHORUS_NYLIUM + ) + ); //public static final Block PEARLBERRY = registerBlock("pearlberry_seed", new PottableCropBlock(EndItems.BLOSSOM_BERRY, END_MOSS, END_MYCELIUM)); public static final Block CAVE_PUMPKIN_SEED = registerBlock("cave_pumpkin_seed", new CavePumpkinVineBlock()); public static final Block CAVE_PUMPKIN = registerBlock("cave_pumpkin", new CavePumpkinBlock()); @@ -346,16 +480,20 @@ public class EndBlocks { public static final Block HYDRALUX_SAPLING = registerBlock("hydralux_sapling", new HydraluxSaplingBlock()); public static final Block HYDRALUX = registerEndBlockOnly("hydralux", new HydraluxBlock()); public static final Block HYDRALUX_PETAL_BLOCK = registerBlock("hydralux_petal_block", new HydraluxPetalBlock()); - public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial(HydraluxPetalColoredBlock::new, - HYDRALUX_PETAL_BLOCK, - true); + public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial( + HydraluxPetalColoredBlock::new, + HYDRALUX_PETAL_BLOCK, + true + ); public static final Block POND_ANEMONE = registerBlock("pond_anemone", new PondAnemoneBlock()); public static final Block FLAMAEA = registerBlock("flamaea", new FlamaeaBlock()); - public static final Block CAVE_BUSH = registerBlock("cave_bush", - new SimpleLeavesBlock(MaterialColor.COLOR_MAGENTA)); + public static final Block CAVE_BUSH = registerBlock( + "cave_bush", + new SimpleLeavesBlock(MaterialColor.COLOR_MAGENTA) + ); public static final Block MURKWEED = registerBlock("murkweed", new MurkweedBlock()); public static final Block NEEDLEGRASS = registerBlock("needlegrass", new NeedlegrassBlock()); @@ -388,10 +526,14 @@ public class EndBlocks { public static final Block SILK_MOTH_HIVE = registerBlock("silk_moth_hive", new SilkMothHiveBlock()); // Ores // - public static final Block ENDER_ORE = registerBlock("ender_ore", - new BaseOreBlock(() -> EndItems.ENDER_SHARD, 1, 3, 5)); - public static final Block AMBER_ORE = registerBlock("amber_ore", - new BaseOreBlock(() -> EndItems.RAW_AMBER, 1, 2, 4)); + public static final Block ENDER_ORE = registerBlock( + "ender_ore", + new BaseOreBlock(() -> EndItems.ENDER_SHARD, 1, 3, 5) + ); + public static final Block AMBER_ORE = registerBlock( + "amber_ore", + new BaseOreBlock(() -> EndItems.RAW_AMBER, 1, 2, 4) + ); // Materials // public static final MetalMaterial THALLASIUM = MetalMaterial.makeNormal( @@ -399,7 +541,7 @@ public class EndBlocks { MaterialColor.COLOR_BLUE, EndToolMaterial.THALLASIUM, EndArmorMaterial.THALLASIUM - ); + ); public static final MetalMaterial TERMINITE = MetalMaterial.makeOreless( "terminite", MaterialColor.WARPED_WART_BLOCK, @@ -407,7 +549,7 @@ public class EndBlocks { 9F, EndToolMaterial.TERMINITE, EndArmorMaterial.TERMINITE - ); + ); public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock()); public static final Block CHARCOAL_BLOCK = registerBlock("charcoal_block", new CharcoalBlock()); @@ -417,7 +559,7 @@ public class EndBlocks { public static final Block SMARAGDANT_CRYSTAL_SHARD = registerBlock( "smaragdant_crystal_shard", new SmaragdantCrystalShardBlock() - ); + ); public static final Block SMARAGDANT_CRYSTAL = registerBlock("smaragdant_crystal", new SmaragdantCrystalBlock()); public static final CrystalSubblocksMaterial SMARAGDANT_SUBBLOCKS = new CrystalSubblocksMaterial( "smaragdant_crystal", @@ -430,25 +572,25 @@ public class EndBlocks { public static final Block ANDESITE_LANTERN = registerBlock( "andesite_lantern", new StoneLanternBlock(Blocks.ANDESITE) - ); + ); public static final Block DIORITE_LANTERN = registerBlock("diorite_lantern", new StoneLanternBlock(Blocks.DIORITE)); public static final Block GRANITE_LANTERN = registerBlock("granite_lantern", new StoneLanternBlock(Blocks.GRANITE)); public static final Block QUARTZ_LANTERN = registerBlock( "quartz_lantern", new StoneLanternBlock(Blocks.QUARTZ_BLOCK) - ); + ); public static final Block PURPUR_LANTERN = registerBlock( "purpur_lantern", new StoneLanternBlock(Blocks.PURPUR_BLOCK) - ); + ); public static final Block END_STONE_LANTERN = registerBlock( "end_stone_lantern", new StoneLanternBlock(Blocks.END_STONE) - ); + ); public static final Block BLACKSTONE_LANTERN = registerBlock( "blackstone_lantern", new StoneLanternBlock(Blocks.BLACKSTONE) - ); + ); public static final Block IRON_BULB_LANTERN = registerBlock("iron_bulb_lantern", new BulbVineLanternBlock()); public static final ColoredMaterial IRON_BULB_LANTERN_COLORED = new ColoredMaterial( @@ -460,17 +602,17 @@ public class EndBlocks { public static final Block IRON_CHANDELIER = EndBlocks.registerBlock( "iron_chandelier", new ChandelierBlock(Blocks.GOLD_BLOCK) - ); + ); public static final Block GOLD_CHANDELIER = EndBlocks.registerBlock( "gold_chandelier", new ChandelierBlock(Blocks.GOLD_BLOCK) - ); + ); // Blocks With Entity // public static final Block END_STONE_FURNACE = registerBlock( "end_stone_furnace", new BaseFurnaceBlock(Blocks.END_STONE) - ); + ); public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter()); public static final Block ETERNAL_PEDESTAL = registerBlock("eternal_pedestal", new EternalPedestal()); public static final Block INFUSION_PEDESTAL = registerBlock("infusion_pedestal", new InfusionPedestal()); diff --git a/src/main/java/org/betterx/betterend/registry/EndEnchantments.java b/src/main/java/org/betterx/betterend/registry/EndEnchantments.java index ddd1b839..a47ac1f6 100644 --- a/src/main/java/org/betterx/betterend/registry/EndEnchantments.java +++ b/src/main/java/org/betterx/betterend/registry/EndEnchantments.java @@ -1,12 +1,12 @@ package org.betterx.betterend.registry; -import net.minecraft.core.Registry; -import net.minecraft.world.item.enchantment.Enchantment; - import org.betterx.betterend.BetterEnd; import org.betterx.betterend.config.Configs; import org.betterx.betterend.effects.enchantment.EndVeilEnchantment; +import net.minecraft.core.Registry; +import net.minecraft.world.item.enchantment.Enchantment; + public class EndEnchantments { public final static Enchantment END_VEIL = registerEnchantment("end_veil", new EndVeilEnchantment()); diff --git a/src/main/java/org/betterx/betterend/registry/EndEntities.java b/src/main/java/org/betterx/betterend/registry/EndEntities.java index 965858c9..545c3b71 100644 --- a/src/main/java/org/betterx/betterend/registry/EndEntities.java +++ b/src/main/java/org/betterx/betterend/registry/EndEntities.java @@ -1,5 +1,11 @@ package org.betterx.betterend.registry; +import org.betterx.bclib.api.v2.spawning.SpawnRuleBuilder; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.entity.*; + import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.*; @@ -10,12 +16,6 @@ import net.minecraft.world.level.levelgen.Heightmap.Types; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry; import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder; -import org.betterx.bclib.api.v2.spawning.SpawnRuleBuilder; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.entity.*; - public class EndEntities { public static final EntityType DRAGONFLY = register( "dragonfly", @@ -27,7 +27,7 @@ public class EndEntities { true, ColorUtil.color(32, 42, 176), ColorUtil.color(115, 225, 249) - ); + ); public static final EntityType END_SLIME = register( "end_slime", MobCategory.MONSTER, @@ -38,7 +38,7 @@ public class EndEntities { false, ColorUtil.color(28, 28, 28), ColorUtil.color(99, 11, 99) - ); + ); public static final EntityType END_FISH = register( "end_fish", MobCategory.WATER_AMBIENT, @@ -49,7 +49,7 @@ public class EndEntities { true, ColorUtil.color(3, 50, 76), ColorUtil.color(120, 206, 255) - ); + ); public static final EntityType SHADOW_WALKER = register( "shadow_walker", MobCategory.MONSTER, @@ -60,7 +60,7 @@ public class EndEntities { true, ColorUtil.color(30, 30, 30), ColorUtil.color(5, 5, 5) - ); + ); public static final EntityType CUBOZOA = register( "cubozoa", MobCategory.WATER_AMBIENT, @@ -71,7 +71,7 @@ public class EndEntities { true, ColorUtil.color(151, 77, 181), ColorUtil.color(93, 176, 238) - ); + ); public static final EntityType SILK_MOTH = register( "silk_moth", MobCategory.AMBIENT, @@ -82,7 +82,7 @@ public class EndEntities { true, ColorUtil.color(198, 138, 204), ColorUtil.color(242, 220, 236) - ); + ); public static void register() { // Air // @@ -109,11 +109,13 @@ public class EndEntities { SpawnRuleBuilder.start(CUBOZOA).maxNearby(8, 64).buildInWater(Types.MOTION_BLOCKING); } - protected static EntityType register(String name, - MobCategory group, - float width, - float height, - EntityFactory entity) { + protected static EntityType register( + String name, + MobCategory group, + float width, + float height, + EntityFactory entity + ) { ResourceLocation id = BetterEnd.makeID(name); EntityType type = FabricEntityTypeBuilder .create(group, entity) @@ -125,21 +127,23 @@ public class EndEntities { return type; } - private static EntityType register(String name, - MobCategory group, - float width, - float height, - EntityFactory entity, - Builder attributes, - boolean fixedSize, - int eggColor, - int dotsColor) { + private static EntityType register( + String name, + MobCategory group, + float width, + float height, + EntityFactory entity, + Builder attributes, + boolean fixedSize, + int eggColor, + int dotsColor + ) { ResourceLocation id = BetterEnd.makeID(name); EntityType type = FabricEntityTypeBuilder .create(group, entity) .dimensions(fixedSize - ? EntityDimensions.fixed(width, height) - : EntityDimensions.scalable(width, height)) + ? EntityDimensions.fixed(width, height) + : EntityDimensions.scalable(width, height)) .build(); if (Configs.ENTITY_CONFIG.getBooleanRoot(id.getPath(), true)) { FabricDefaultAttributeRegistry.register(type, attributes); diff --git a/src/main/java/org/betterx/betterend/registry/EndEntitiesRenders.java b/src/main/java/org/betterx/betterend/registry/EndEntitiesRenders.java index 1f6a4910..e168eac2 100644 --- a/src/main/java/org/betterx/betterend/registry/EndEntitiesRenders.java +++ b/src/main/java/org/betterx/betterend/registry/EndEntitiesRenders.java @@ -1,5 +1,10 @@ package org.betterx.betterend.registry; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.entity.model.*; +import org.betterx.betterend.entity.render.*; +import org.betterx.betterend.item.model.*; + import net.minecraft.client.model.geom.ModelLayerLocation; import net.minecraft.client.renderer.entity.EntityRendererProvider.Context; import net.minecraft.client.renderer.entity.MobRenderer; @@ -8,11 +13,6 @@ import net.minecraft.world.entity.EntityType; import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.entity.model.*; -import org.betterx.betterend.entity.render.*; -import org.betterx.betterend.item.model.*; - import java.util.function.Function; public class EndEntitiesRenders { @@ -40,18 +40,24 @@ public class EndEntitiesRenders { register(EndEntities.SILK_MOTH, SilkMothEntityRenderer::new); EntityModelLayerRegistry.registerModelLayer(DRAGONFLY_MODEL, DragonflyEntityModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(END_SLIME_SHELL_MODEL, - EndSlimeEntityModel::getShellOnlyTexturedModelData); + EntityModelLayerRegistry.registerModelLayer( + END_SLIME_SHELL_MODEL, + EndSlimeEntityModel::getShellOnlyTexturedModelData + ); EntityModelLayerRegistry.registerModelLayer(END_SLIME_MODEL, EndSlimeEntityModel::getCompleteTexturedModelData); EntityModelLayerRegistry.registerModelLayer(END_FISH_MODEL, EndFishEntityModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(SILK_MOTH_MODEL, SilkMothEntityModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(ARMORED_ELYTRA, ArmoredElytraModel::getTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_CHESTPLATE, - CrystaliteChestplateModel::getRegularTexturedModelData); - EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_CHESTPLATE_THIN, - CrystaliteChestplateModel::getThinTexturedModelData); + EntityModelLayerRegistry.registerModelLayer( + CRYSTALITE_CHESTPLATE, + CrystaliteChestplateModel::getRegularTexturedModelData + ); + EntityModelLayerRegistry.registerModelLayer( + CRYSTALITE_CHESTPLATE_THIN, + CrystaliteChestplateModel::getThinTexturedModelData + ); EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_HELMET, CrystaliteHelmetModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_LEGGINGS, CrystaliteLeggingsModel::getTexturedModelData); EntityModelLayerRegistry.registerModelLayer(CRYSTALITE_BOOTS, CrystaliteBootsModel::getTexturedModelData); diff --git a/src/main/java/org/betterx/betterend/registry/EndFeatures.java b/src/main/java/org/betterx/betterend/registry/EndFeatures.java index b1dfddac..f67d43ca 100644 --- a/src/main/java/org/betterx/betterend/registry/EndFeatures.java +++ b/src/main/java/org/betterx/betterend/registry/EndFeatures.java @@ -1,5 +1,25 @@ package org.betterx.betterend.registry; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.levelgen.features.BCLCommonFeatures; +import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; +import org.betterx.bclib.api.v2.levelgen.features.BCLFeatureBuilder; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.util.JsonFactory; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.complexmaterials.StoneMaterial; +import org.betterx.betterend.config.Configs; +import org.betterx.betterend.world.biome.cave.EndCaveBiome; +import org.betterx.betterend.world.biome.land.UmbraValleyBiome; +import org.betterx.betterend.world.features.*; +import org.betterx.betterend.world.features.bushes.*; +import org.betterx.betterend.world.features.terrain.*; +import org.betterx.betterend.world.features.terrain.caves.RoundCaveFeature; +import org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature; +import org.betterx.betterend.world.features.trees.*; + import net.minecraft.core.Holder; import net.minecraft.core.Registry; import net.minecraft.data.BuiltinRegistries; @@ -19,23 +39,6 @@ import net.minecraft.world.level.levelgen.placement.PlacedFeature; import com.google.common.collect.Lists; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.levelgen.features.*; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.util.JsonFactory; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.complexmaterials.StoneMaterial; -import org.betterx.betterend.config.Configs; -import org.betterx.betterend.world.biome.cave.EndCaveBiome; -import org.betterx.betterend.world.biome.land.UmbraValleyBiome; -import org.betterx.betterend.world.features.*; -import org.betterx.betterend.world.features.bushes.*; -import org.betterx.betterend.world.features.terrain.*; -import org.betterx.betterend.world.features.terrain.caves.RoundCaveFeature; -import org.betterx.betterend.world.features.terrain.caves.TunelCaveFeature; -import org.betterx.betterend.world.features.trees.*; import java.io.InputStream; import java.util.List; @@ -45,316 +48,532 @@ public class EndFeatures { public static final BCLFeature MOSSY_GLOWSHROOM = registerVegetation( "mossy_glowshroom", new MossyGlowshroomFeature(), - 2); - public static final BCLFeature PYTHADENDRON_TREE = registerVegetation("pythadendron_tree", + 2 + ); + public static final BCLFeature PYTHADENDRON_TREE = registerVegetation( + "pythadendron_tree", new PythadendronTreeFeature(), - 1); + 1 + ); public static final BCLFeature LACUGROVE = registerVegetation("lacugrove", new LacugroveFeature(), 4); public static final BCLFeature DRAGON_TREE = registerVegetation("dragon_tree", new DragonTreeFeature(), 2); public static final BCLFeature TENANEA = registerVegetation("tenanea", new TenaneaFeature(), 2); public static final BCLFeature HELIX_TREE = registerVegetation("helix_tree", new HelixTreeFeature(), 1); public static final BCLFeature UMBRELLA_TREE = registerVegetation("umbrella_tree", new UmbrellaTreeFeature(), 2); public static final BCLFeature JELLYSHROOM = registerVegetation("jellyshroom", new JellyshroomFeature(), 2); - public static final BCLFeature GIGANTIC_AMARANITA = registerVegetation("gigantic_amaranita", + public static final BCLFeature GIGANTIC_AMARANITA = registerVegetation( + "gigantic_amaranita", new GiganticAmaranitaFeature(), - 1); + 1 + ); public static final BCLFeature LUCERNIA = registerVegetation("lucernia", new LucerniaFeature(), 3); // Bushes // - public static final BCLFeature PYTHADENDRON_BUSH = registerVegetation("pythadendron_bush", - new BushFeature(EndBlocks.PYTHADENDRON_LEAVES, - EndBlocks.PYTHADENDRON.getBark()), - 3); - public static final BCLFeature DRAGON_TREE_BUSH = registerVegetation("dragon_tree_bush", - new BushFeature(EndBlocks.DRAGON_TREE_LEAVES, - EndBlocks.DRAGON_TREE.getBark()), - 5); + public static final BCLFeature PYTHADENDRON_BUSH = registerVegetation( + "pythadendron_bush", + new BushFeature( + EndBlocks.PYTHADENDRON_LEAVES, + EndBlocks.PYTHADENDRON.getBark() + ), + 3 + ); + public static final BCLFeature DRAGON_TREE_BUSH = registerVegetation( + "dragon_tree_bush", + new BushFeature( + EndBlocks.DRAGON_TREE_LEAVES, + EndBlocks.DRAGON_TREE.getBark() + ), + 5 + ); public static final BCLFeature TENANEA_BUSH = registerVegetation("tenanea_bush", new TenaneaBushFeature(), 6); public static final BCLFeature LUMECORN = registerVegetation("lumecorn", new Lumecorn(), 5); - public static final BCLFeature LARGE_AMARANITA = registerVegetation("large_amaranita", + public static final BCLFeature LARGE_AMARANITA = registerVegetation( + "large_amaranita", new LargeAmaranitaFeature(), - 5); - public static final BCLFeature LUCERNIA_BUSH = registerVegetation("lucernia_bush", - new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES, + 5 + ); + public static final BCLFeature LUCERNIA_BUSH = registerVegetation( + "lucernia_bush", + new BushWithOuterFeature( + EndBlocks.LUCERNIA_LEAVES, EndBlocks.LUCERNIA_OUTER_LEAVES, - EndBlocks.LUCERNIA.getBark()), - 10); - public static final BCLFeature LUCERNIA_BUSH_RARE = registerVegetation("lucernia_bush_rare", - new BushWithOuterFeature(EndBlocks.LUCERNIA_LEAVES, + EndBlocks.LUCERNIA.getBark() + ), + 10 + ); + public static final BCLFeature LUCERNIA_BUSH_RARE = registerVegetation( + "lucernia_bush_rare", + new BushWithOuterFeature( + EndBlocks.LUCERNIA_LEAVES, EndBlocks.LUCERNIA_OUTER_LEAVES, - EndBlocks.LUCERNIA.getBark()), - 1); + EndBlocks.LUCERNIA.getBark() + ), + 1 + ); public static final BCLFeature NEON_CACTUS = registerVegetation("neon_cactus", new NeonCactusFeature(), 2); // Plants // - public static final BCLFeature UMBRELLA_MOSS = registerVegetation("umbrella_moss", - new DoublePlantFeature(EndBlocks.UMBRELLA_MOSS, + public static final BCLFeature UMBRELLA_MOSS = registerVegetation( + "umbrella_moss", + new DoublePlantFeature( + EndBlocks.UMBRELLA_MOSS, EndBlocks.UMBRELLA_MOSS_TALL, - 5), - 3); - public static final BCLFeature CREEPING_MOSS = registerVegetation("creeping_moss", - new SinglePlantFeature(EndBlocks.CREEPING_MOSS, - 5), - 3); + 5 + ), + 3 + ); + public static final BCLFeature CREEPING_MOSS = registerVegetation( + "creeping_moss", + new SinglePlantFeature( + EndBlocks.CREEPING_MOSS, + 5 + ), + 3 + ); public static final BCLFeature BLUE_VINE = registerVegetation("blue_vine", new BlueVineFeature(), 1); - public static final BCLFeature CHORUS_GRASS = registerVegetation("chorus_grass", + public static final BCLFeature CHORUS_GRASS = registerVegetation( + "chorus_grass", new SinglePlantFeature(EndBlocks.CHORUS_GRASS, 4), - 3); - public static final BCLFeature CRYSTAL_GRASS = registerVegetation("crystal_grass", - new SinglePlantFeature(EndBlocks.CRYSTAL_GRASS, + 3 + ); + public static final BCLFeature CRYSTAL_GRASS = registerVegetation( + "crystal_grass", + new SinglePlantFeature( + EndBlocks.CRYSTAL_GRASS, 8, - false), - 5); - public static final BCLFeature SHADOW_PLANT = registerVegetation("shadow_plant", + false + ), + 5 + ); + public static final BCLFeature SHADOW_PLANT = registerVegetation( + "shadow_plant", new SinglePlantFeature(EndBlocks.SHADOW_PLANT, 6), - 5); - public static final BCLFeature MURKWEED = registerVegetation("murkweed", + 5 + ); + public static final BCLFeature MURKWEED = registerVegetation( + "murkweed", new SinglePlantFeature(EndBlocks.MURKWEED, 3), - 2); - public static final BCLFeature NEEDLEGRASS = registerVegetation("needlegrass", + 2 + ); + public static final BCLFeature NEEDLEGRASS = registerVegetation( + "needlegrass", new SinglePlantFeature(EndBlocks.NEEDLEGRASS, 3), - 1); - public static final BCLFeature SHADOW_BERRY = registerVegetation("shadow_berry", + 1 + ); + public static final BCLFeature SHADOW_BERRY = registerVegetation( + "shadow_berry", new SinglePlantFeature(EndBlocks.SHADOW_BERRY, 2), - 1); - public static final BCLFeature BUSHY_GRASS = registerVegetation("bushy_grass", - new SinglePlantFeature(EndBlocks.BUSHY_GRASS, + 1 + ); + public static final BCLFeature BUSHY_GRASS = registerVegetation( + "bushy_grass", + new SinglePlantFeature( + EndBlocks.BUSHY_GRASS, 8, - false), - 10); - public static final BCLFeature BUSHY_GRASS_WG = registerVegetation("bushy_grass_wg", + false + ), + 10 + ); + public static final BCLFeature BUSHY_GRASS_WG = registerVegetation( + "bushy_grass_wg", new SinglePlantFeature(EndBlocks.BUSHY_GRASS, 5), - 8); - public static final BCLFeature AMBER_GRASS = registerVegetation("amber_grass", + 8 + ); + public static final BCLFeature AMBER_GRASS = registerVegetation( + "amber_grass", new SinglePlantFeature(EndBlocks.AMBER_GRASS, 6), - 7); + 7 + ); public static final BCLFeature LANCELEAF = registerVegetation("lanceleaf", new LanceleafFeature(), 2); public static final BCLFeature GLOW_PILLAR = registerVegetation("glow_pillar", new GlowPillarFeature(), 1); - public static final BCLFeature TWISTED_UMBRELLA_MOSS = registerVegetation("twisted_umbrella_moss", - new DoublePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS, + public static final BCLFeature TWISTED_UMBRELLA_MOSS = registerVegetation( + "twisted_umbrella_moss", + new DoublePlantFeature( + EndBlocks.TWISTED_UMBRELLA_MOSS, EndBlocks.TWISTED_UMBRELLA_MOSS_TALL, - 6), - 3); - public static final BCLFeature JUNGLE_GRASS = registerVegetation("jungle_grass", - new SinglePlantFeature(EndBlocks.JUNGLE_GRASS, + 6 + ), + 3 + ); + public static final BCLFeature JUNGLE_GRASS = registerVegetation( + "jungle_grass", + new SinglePlantFeature( + EndBlocks.JUNGLE_GRASS, 7, - 3), - 6); - public static final BCLFeature SMALL_JELLYSHROOM_FLOOR = registerVegetation("small_jellyshroom_floor", - new SinglePlantFeature(EndBlocks.SMALL_JELLYSHROOM, + 3 + ), + 6 + ); + public static final BCLFeature SMALL_JELLYSHROOM_FLOOR = registerVegetation( + "small_jellyshroom_floor", + new SinglePlantFeature( + EndBlocks.SMALL_JELLYSHROOM, 5, - 5), - 2); - public static final BCLFeature BLOSSOM_BERRY = registerVegetation("blossom_berry", - new SinglePlantFeature(EndBlocks.BLOSSOM_BERRY, + 5 + ), + 2 + ); + public static final BCLFeature BLOSSOM_BERRY = registerVegetation( + "blossom_berry", + new SinglePlantFeature( + EndBlocks.BLOSSOM_BERRY, 3, - 3), - 2); - public static final BCLFeature BLOOMING_COOKSONIA = registerVegetation("blooming_cooksonia", - new SinglePlantFeature(EndBlocks.BLOOMING_COOKSONIA, - 5), - 5); - public static final BCLFeature SALTEAGO = registerVegetation("salteago", + 3 + ), + 2 + ); + public static final BCLFeature BLOOMING_COOKSONIA = registerVegetation( + "blooming_cooksonia", + new SinglePlantFeature( + EndBlocks.BLOOMING_COOKSONIA, + 5 + ), + 5 + ); + public static final BCLFeature SALTEAGO = registerVegetation( + "salteago", new SinglePlantFeature(EndBlocks.SALTEAGO, 5), - 5); - public static final BCLFeature VAIOLUSH_FERN = registerVegetation("vaiolush_fern", - new SinglePlantFeature(EndBlocks.VAIOLUSH_FERN, - 5), - 5); - public static final BCLFeature FRACTURN = registerVegetation("fracturn", + 5 + ); + public static final BCLFeature VAIOLUSH_FERN = registerVegetation( + "vaiolush_fern", + new SinglePlantFeature( + EndBlocks.VAIOLUSH_FERN, + 5 + ), + 5 + ); + public static final BCLFeature FRACTURN = registerVegetation( + "fracturn", new SinglePlantFeature(EndBlocks.FRACTURN, 5), - 5); - public static final BCLFeature UMBRELLA_MOSS_RARE = registerVegetation("umbrella_moss_rare", - new SinglePlantFeature(EndBlocks.UMBRELLA_MOSS, - 3), - 2); - public static final BCLFeature CREEPING_MOSS_RARE = registerVegetation("creeping_moss_rare", - new SinglePlantFeature(EndBlocks.CREEPING_MOSS, - 3), - 2); - public static final BCLFeature TWISTED_UMBRELLA_MOSS_RARE = registerVegetation("twisted_umbrella_moss_rare", - new SinglePlantFeature(EndBlocks.TWISTED_UMBRELLA_MOSS, - 3), - 2); - public static final BCLFeature ORANGO = registerVegetation("orango", + 5 + ); + public static final BCLFeature UMBRELLA_MOSS_RARE = registerVegetation( + "umbrella_moss_rare", + new SinglePlantFeature( + EndBlocks.UMBRELLA_MOSS, + 3 + ), + 2 + ); + public static final BCLFeature CREEPING_MOSS_RARE = registerVegetation( + "creeping_moss_rare", + new SinglePlantFeature( + EndBlocks.CREEPING_MOSS, + 3 + ), + 2 + ); + public static final BCLFeature TWISTED_UMBRELLA_MOSS_RARE = registerVegetation( + "twisted_umbrella_moss_rare", + new SinglePlantFeature( + EndBlocks.TWISTED_UMBRELLA_MOSS, + 3 + ), + 2 + ); + public static final BCLFeature ORANGO = registerVegetation( + "orango", new SinglePlantFeature(EndBlocks.ORANGO, 5), - 6); - public static final BCLFeature AERIDIUM = registerVegetation("aeridium", + 6 + ); + public static final BCLFeature AERIDIUM = registerVegetation( + "aeridium", new SinglePlantFeature(EndBlocks.AERIDIUM, 5, 4), - 5); - public static final BCLFeature LUTEBUS = registerVegetation("lutebus", + 5 + ); + public static final BCLFeature LUTEBUS = registerVegetation( + "lutebus", new SinglePlantFeature(EndBlocks.LUTEBUS, 5, 2), - 5); - public static final BCLFeature LAMELLARIUM = registerVegetation("lamellarium", + 5 + ); + public static final BCLFeature LAMELLARIUM = registerVegetation( + "lamellarium", new SinglePlantFeature(EndBlocks.LAMELLARIUM, 5), - 6); - public static final BCLFeature SMALL_AMARANITA = registerVegetation("small_amaranita", - new SinglePlantFeature(EndBlocks.SMALL_AMARANITA_MUSHROOM, + 6 + ); + public static final BCLFeature SMALL_AMARANITA = registerVegetation( + "small_amaranita", + new SinglePlantFeature( + EndBlocks.SMALL_AMARANITA_MUSHROOM, 5, - 5), - 4); - public static final BCLFeature GLOBULAGUS = registerVegetation("globulagus", + 5 + ), + 4 + ); + public static final BCLFeature GLOBULAGUS = registerVegetation( + "globulagus", new SinglePlantFeature(EndBlocks.GLOBULAGUS, 5, 3), - 6); - public static final BCLFeature CLAWFERN = registerVegetation("clawfern", + 6 + ); + public static final BCLFeature CLAWFERN = registerVegetation( + "clawfern", new SinglePlantFeature(EndBlocks.CLAWFERN, 5, 4), - 5); - public static final BCLFeature BOLUX_MUSHROOM = registerVegetation("bolux_mushroom", - new SinglePlantFeature(EndBlocks.BOLUX_MUSHROOM, + 5 + ); + public static final BCLFeature BOLUX_MUSHROOM = registerVegetation( + "bolux_mushroom", + new SinglePlantFeature( + EndBlocks.BOLUX_MUSHROOM, 5, - 5), - 2); - public static final BCLFeature CHORUS_MUSHROOM = registerVegetation("chorus_mushroom", - new SinglePlantFeature(EndBlocks.CHORUS_MUSHROOM, + 5 + ), + 2 + ); + public static final BCLFeature CHORUS_MUSHROOM = registerVegetation( + "chorus_mushroom", + new SinglePlantFeature( + EndBlocks.CHORUS_MUSHROOM, 3, - 5), - 1); - public static final BCLFeature AMBER_ROOT = registerVegetation("amber_root", + 5 + ), + 1 + ); + public static final BCLFeature AMBER_ROOT = registerVegetation( + "amber_root", new SinglePlantFeature(EndBlocks.AMBER_ROOT, 5, 5), - 1); + 1 + ); //public static final BCLFeature PEARLBERRY = redisterVegetation("pearlberry", new SinglePlantFeature(EndBlocks.PEARLBERRY, 5, 5), 1); - public static final BCLFeature INFLEXIA = registerVegetation("inflexia", - new SinglePlantFeature(EndBlocks.INFLEXIA, + public static final BCLFeature INFLEXIA = registerVegetation( + "inflexia", + new SinglePlantFeature( + EndBlocks.INFLEXIA, 7, false, - 3), - 16); - public static final BCLFeature FLAMMALIX = registerVegetation("flammalix", - new SinglePlantFeature(EndBlocks.FLAMMALIX, + 3 + ), + 16 + ); + public static final BCLFeature FLAMMALIX = registerVegetation( + "flammalix", + new SinglePlantFeature( + EndBlocks.FLAMMALIX, 3, false, - 7), - 5); + 7 + ), + 5 + ); // Vines // - public static final BCLFeature DENSE_VINE = registerVegetation("dense_vine", + public static final BCLFeature DENSE_VINE = registerVegetation( + "dense_vine", new VineFeature(EndBlocks.DENSE_VINE, 24), - 3); - public static final BCLFeature TWISTED_VINE = registerVegetation("twisted_vine", + 3 + ); + public static final BCLFeature TWISTED_VINE = registerVegetation( + "twisted_vine", new VineFeature(EndBlocks.TWISTED_VINE, 24), - 1); - public static final BCLFeature BULB_VINE = registerVegetation("bulb_vine", + 1 + ); + public static final BCLFeature BULB_VINE = registerVegetation( + "bulb_vine", new VineFeature(EndBlocks.BULB_VINE, 24), - 3); - public static final BCLFeature JUNGLE_VINE = registerVegetation("jungle_vine", + 3 + ); + public static final BCLFeature JUNGLE_VINE = registerVegetation( + "jungle_vine", new VineFeature(EndBlocks.JUNGLE_VINE, 24), - 5); + 5 + ); // Ceil plants - public static final BCLFeature SMALL_JELLYSHROOM_CEIL = registerVegetation("small_jellyshroom_ceil", + public static final BCLFeature SMALL_JELLYSHROOM_CEIL = registerVegetation( + "small_jellyshroom_ceil", new SingleInvertedScatterFeature( EndBlocks.SMALL_JELLYSHROOM, - 8), - 8); + 8 + ), + 8 + ); // Wall Plants // - public static final BCLFeature PURPLE_POLYPORE = registerVegetation("purple_polypore", - new WallPlantOnLogFeature(EndBlocks.PURPLE_POLYPORE, - 3), - 5); - public static final BCLFeature AURANT_POLYPORE = registerVegetation("aurant_polypore", - new WallPlantOnLogFeature(EndBlocks.AURANT_POLYPORE, - 3), - 5); - public static final BCLFeature TAIL_MOSS = registerVegetation("tail_moss", + public static final BCLFeature PURPLE_POLYPORE = registerVegetation( + "purple_polypore", + new WallPlantOnLogFeature( + EndBlocks.PURPLE_POLYPORE, + 3 + ), + 5 + ); + public static final BCLFeature AURANT_POLYPORE = registerVegetation( + "aurant_polypore", + new WallPlantOnLogFeature( + EndBlocks.AURANT_POLYPORE, + 3 + ), + 5 + ); + public static final BCLFeature TAIL_MOSS = registerVegetation( + "tail_moss", new WallPlantFeature(EndBlocks.TAIL_MOSS, 3), - 15); - public static final BCLFeature CYAN_MOSS = registerVegetation("cyan_moss", + 15 + ); + public static final BCLFeature CYAN_MOSS = registerVegetation( + "cyan_moss", new WallPlantFeature(EndBlocks.CYAN_MOSS, 3), - 15); - public static final BCLFeature TAIL_MOSS_WOOD = registerVegetation("tail_moss_wood", - new WallPlantOnLogFeature(EndBlocks.TAIL_MOSS, - 4), - 25); - public static final BCLFeature CYAN_MOSS_WOOD = registerVegetation("cyan_moss_wood", - new WallPlantOnLogFeature(EndBlocks.CYAN_MOSS, - 4), - 25); - public static final BCLFeature TWISTED_MOSS = registerVegetation("twisted_moss", + 15 + ); + public static final BCLFeature TAIL_MOSS_WOOD = registerVegetation( + "tail_moss_wood", + new WallPlantOnLogFeature( + EndBlocks.TAIL_MOSS, + 4 + ), + 25 + ); + public static final BCLFeature CYAN_MOSS_WOOD = registerVegetation( + "cyan_moss_wood", + new WallPlantOnLogFeature( + EndBlocks.CYAN_MOSS, + 4 + ), + 25 + ); + public static final BCLFeature TWISTED_MOSS = registerVegetation( + "twisted_moss", new WallPlantFeature(EndBlocks.TWISTED_MOSS, 6), - 15); - public static final BCLFeature TWISTED_MOSS_WOOD = registerVegetation("twisted_moss_wood", - new WallPlantOnLogFeature(EndBlocks.TWISTED_MOSS, - 6), - 25); - public static final BCLFeature BULB_MOSS = registerVegetation("bulb_moss", + 15 + ); + public static final BCLFeature TWISTED_MOSS_WOOD = registerVegetation( + "twisted_moss_wood", + new WallPlantOnLogFeature( + EndBlocks.TWISTED_MOSS, + 6 + ), + 25 + ); + public static final BCLFeature BULB_MOSS = registerVegetation( + "bulb_moss", new WallPlantFeature(EndBlocks.BULB_MOSS, 6), - 1); - public static final BCLFeature BULB_MOSS_WOOD = registerVegetation("bulb_moss_wood", - new WallPlantOnLogFeature(EndBlocks.BULB_MOSS, - 6), - 15); - public static final BCLFeature SMALL_JELLYSHROOM_WALL = registerVegetation("small_jellyshroom_wall", - new WallPlantFeature(EndBlocks.SMALL_JELLYSHROOM, - 4), - 4); - public static final BCLFeature SMALL_JELLYSHROOM_WOOD = registerVegetation("small_jellyshroom_wood", - new WallPlantOnLogFeature(EndBlocks.SMALL_JELLYSHROOM, - 4), - 8); - public static final BCLFeature JUNGLE_FERN_WOOD = registerVegetation("jungle_fern_wood", - new WallPlantOnLogFeature(EndBlocks.JUNGLE_FERN, - 3), - 12); + 1 + ); + public static final BCLFeature BULB_MOSS_WOOD = registerVegetation( + "bulb_moss_wood", + new WallPlantOnLogFeature( + EndBlocks.BULB_MOSS, + 6 + ), + 15 + ); + public static final BCLFeature SMALL_JELLYSHROOM_WALL = registerVegetation( + "small_jellyshroom_wall", + new WallPlantFeature( + EndBlocks.SMALL_JELLYSHROOM, + 4 + ), + 4 + ); + public static final BCLFeature SMALL_JELLYSHROOM_WOOD = registerVegetation( + "small_jellyshroom_wood", + new WallPlantOnLogFeature( + EndBlocks.SMALL_JELLYSHROOM, + 4 + ), + 8 + ); + public static final BCLFeature JUNGLE_FERN_WOOD = registerVegetation( + "jungle_fern_wood", + new WallPlantOnLogFeature( + EndBlocks.JUNGLE_FERN, + 3 + ), + 12 + ); public static final BCLFeature RUSCUS = registerVegetation("ruscus", new WallPlantFeature(EndBlocks.RUSCUS, 6), 10); - public static final BCLFeature RUSCUS_WOOD = registerVegetation("ruscus_wood", + public static final BCLFeature RUSCUS_WOOD = registerVegetation( + "ruscus_wood", new WallPlantOnLogFeature(EndBlocks.RUSCUS, 6), - 10); + 10 + ); // Sky plants public static final BCLFeature FILALUX = registerVegetation("filalux", new FilaluxFeature(), 1); // Water // - public static final BCLFeature BUBBLE_CORAL = registerVegetation("bubble_coral", - new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL, - 6), - 10); - public static final BCLFeature BUBBLE_CORAL_RARE = registerVegetation("bubble_coral_rare", - new UnderwaterPlantFeature(EndBlocks.BUBBLE_CORAL, - 3), - 4); + public static final BCLFeature BUBBLE_CORAL = registerVegetation( + "bubble_coral", + new UnderwaterPlantFeature( + EndBlocks.BUBBLE_CORAL, + 6 + ), + 10 + ); + public static final BCLFeature BUBBLE_CORAL_RARE = registerVegetation( + "bubble_coral_rare", + new UnderwaterPlantFeature( + EndBlocks.BUBBLE_CORAL, + 3 + ), + 4 + ); public static final BCLFeature END_LILY = registerVegetation("end_lily", new EndLilyFeature(6), 10); public static final BCLFeature END_LILY_RARE = registerVegetation("end_lily_rare", new EndLilyFeature(3), 4); public static final BCLFeature END_LOTUS = registerVegetation("end_lotus", new EndLotusFeature(7), 5); - public static final BCLFeature END_LOTUS_LEAF = registerVegetation("end_lotus_leaf", + public static final BCLFeature END_LOTUS_LEAF = registerVegetation( + "end_lotus_leaf", new EndLotusLeafFeature(20), - 25); + 25 + ); public static final BCLFeature HYDRALUX = registerVegetation("hydralux", new HydraluxFeature(5), 5); - public static final BCLFeature POND_ANEMONE = registerVegetation("pond_anemone", - new UnderwaterPlantFeature(EndBlocks.POND_ANEMONE, - 6), - 10); + public static final BCLFeature POND_ANEMONE = registerVegetation( + "pond_anemone", + new UnderwaterPlantFeature( + EndBlocks.POND_ANEMONE, + 6 + ), + 10 + ); - public static final BCLFeature CHARNIA_RED = registerVegetation("charnia_red", + public static final BCLFeature CHARNIA_RED = registerVegetation( + "charnia_red", new CharniaFeature(EndBlocks.CHARNIA_RED), - 10); - public static final BCLFeature CHARNIA_PURPLE = registerVegetation("charnia_purple", + 10 + ); + public static final BCLFeature CHARNIA_PURPLE = registerVegetation( + "charnia_purple", new CharniaFeature(EndBlocks.CHARNIA_PURPLE), - 10); - public static final BCLFeature CHARNIA_CYAN = registerVegetation("charnia_cyan", + 10 + ); + public static final BCLFeature CHARNIA_CYAN = registerVegetation( + "charnia_cyan", new CharniaFeature(EndBlocks.CHARNIA_CYAN), - 10); - public static final BCLFeature CHARNIA_LIGHT_BLUE = registerVegetation("charnia_light_blue", + 10 + ); + public static final BCLFeature CHARNIA_LIGHT_BLUE = registerVegetation( + "charnia_light_blue", new CharniaFeature(EndBlocks.CHARNIA_LIGHT_BLUE), - 10); - public static final BCLFeature CHARNIA_ORANGE = registerVegetation("charnia_orange", + 10 + ); + public static final BCLFeature CHARNIA_ORANGE = registerVegetation( + "charnia_orange", new CharniaFeature(EndBlocks.CHARNIA_ORANGE), - 10); - public static final BCLFeature CHARNIA_GREEN = registerVegetation("charnia_green", + 10 + ); + public static final BCLFeature CHARNIA_GREEN = registerVegetation( + "charnia_green", new CharniaFeature(EndBlocks.CHARNIA_GREEN), - 10); + 10 + ); public static final BCLFeature MENGER_SPONGE = registerVegetation("menger_sponge", new MengerSpongeFeature(5), 1); - public static final BCLFeature CHARNIA_RED_RARE = registerVegetation("charnia_red_rare", + public static final BCLFeature CHARNIA_RED_RARE = registerVegetation( + "charnia_red_rare", new CharniaFeature(EndBlocks.CHARNIA_RED), - 2); + 2 + ); public static final BCLFeature BIOME_ISLAND = BCLFeatureBuilder - .start(BetterEnd.makeID("overworld_island"), - new BiomeIslandFeature()) + .start( + BetterEnd.makeID("overworld_island"), + new BiomeIslandFeature() + ) .decoration(Decoration.RAW_GENERATION) .buildAndRegister(); - public static final BCLFeature FLAMAEA = registerVegetation("flamaea", + public static final BCLFeature FLAMAEA = registerVegetation( + "flamaea", new SinglePlantFeature(EndBlocks.FLAMAEA, 12, false, 5), - 20); + 20 + ); // Terrain // public static final BCLFeature END_LAKE = registerLake("end_lake", new EndLakeFeature(), 4); @@ -366,54 +585,72 @@ public class EndFeatures { public static final BCLFeature FLOATING_SPIRE = registerRawGen("floating_spire", new FloatingSpireFeature(), 8); public static final BCLFeature GEYSER = registerRawGen("geyser", new GeyserFeature(), 8); public static final BCLFeature SULPHURIC_LAKE = registerLake("sulphuric_lake", new SulphuricLakeFeature(), 8); - public static final BCLFeature SULPHURIC_CAVE = BCLCommonFeatures.makeCountFeature(BetterEnd.makeID("sulphuric_cave"), + public static final BCLFeature SULPHURIC_CAVE = BCLCommonFeatures.makeCountFeature( + BetterEnd.makeID("sulphuric_cave"), Decoration.RAW_GENERATION, new SulphuricCaveFeature(), - 2); + 2 + ); public static final BCLFeature ICE_STAR = registerRawGen("ice_star", new IceStarFeature(5, 15, 10, 25), 15); - public static final BCLFeature ICE_STAR_SMALL = registerRawGen("ice_star_small", + public static final BCLFeature ICE_STAR_SMALL = registerRawGen( + "ice_star_small", new IceStarFeature(3, 5, 7, 12), - 8); + 8 + ); public static final BCLFeature SURFACE_VENT = registerChanced("surface_vent", new SurfaceVentFeature(), 4); public static final BCLFeature SULPHUR_HILL = registerChanced("sulphur_hill", new SulphurHillFeature(), 8); - public static final BCLFeature OBSIDIAN_PILLAR_BASEMENT = registerChanced("obsidian_pillar_basement", + public static final BCLFeature OBSIDIAN_PILLAR_BASEMENT = registerChanced( + "obsidian_pillar_basement", new ObsidianPillarBasementFeature(), - 8); - public static final BCLFeature OBSIDIAN_BOULDER = registerChanced("obsidian_boulder", + 8 + ); + public static final BCLFeature OBSIDIAN_BOULDER = registerChanced( + "obsidian_boulder", new ObsidianBoulderFeature(), - 10); + 10 + ); public static final BCLFeature FALLEN_PILLAR = registerChanced("fallen_pillar", new FallenPillarFeature(), 20); - public static final BCLFeature TUNEL_CAVE = BCLCommonFeatures.makeChunkFeature(BetterEnd.makeID("tunel_cave"), + public static final BCLFeature TUNEL_CAVE = BCLCommonFeatures.makeChunkFeature( + BetterEnd.makeID("tunel_cave"), Decoration.RAW_GENERATION, - new TunelCaveFeature()); + new TunelCaveFeature() + ); public static final BCLFeature UMBRALITH_ARCH = registerChanced("umbralith_arch", new ArchFeature( EndBlocks.UMBRALITH.stone, pos -> UmbraValleyBiome.getSurface(pos.getX(), pos.getZ()).defaultBlockState() ), 10); - public static final BCLFeature THIN_UMBRALITH_ARCH = registerChanced("thin_umbralith_arch", + public static final BCLFeature THIN_UMBRALITH_ARCH = registerChanced( + "thin_umbralith_arch", new ThinArchFeature(EndBlocks.UMBRALITH.stone), - 15); + 15 + ); // Ores // public static final BCLFeature THALLASIUM_ORE = registerOre("thallasium_ore", EndBlocks.THALLASIUM.ore, 24, 8); public static final BCLFeature ENDER_ORE = registerOre("ender_ore", EndBlocks.ENDER_ORE, 12, 4); public static final BCLFeature AMBER_ORE = registerOre("amber_ore", EndBlocks.AMBER_ORE, 60, 6); - public static final BCLFeature DRAGON_BONE_BLOCK_ORE = registerOre("dragon_bone_ore", + public static final BCLFeature DRAGON_BONE_BLOCK_ORE = registerOre( + "dragon_bone_ore", EndBlocks.DRAGON_BONE_BLOCK, 24, - 8); - public static final BCLFeature VIOLECITE_LAYER = registerLayer("violecite_layer", + 8 + ); + public static final BCLFeature VIOLECITE_LAYER = registerLayer( + "violecite_layer", EndBlocks.VIOLECITE, 15, 16, 128, - 8); - public static final BCLFeature FLAVOLITE_LAYER = registerLayer("flavolite_layer", + 8 + ); + public static final BCLFeature FLAVOLITE_LAYER = registerLayer( + "flavolite_layer", EndBlocks.FLAVOLITE, 12, 16, 128, - 6); + 6 + ); // Buildings public static final BCLFeature CRASHED_SHIP = registerChanced("crashed_ship", new CrashedShipFeature(), 500); @@ -455,7 +692,8 @@ public class EndFeatures { private static > BCLFeature registerVegetation( String name, F feature, - int density) { + int density + ) { ResourceLocation id = BetterEnd.makeID(name); return BCLFeatureBuilder.start(id, feature).countLayersMax(density).onlyInBiome().buildAndRegister(); } @@ -469,22 +707,28 @@ public class EndFeatures { } private static BCLFeature registerChanced(String name, Feature feature, int chance) { - return BCLCommonFeatures.makeChancedFeature(BetterEnd.makeID(name), + return BCLCommonFeatures.makeChancedFeature( + BetterEnd.makeID(name), Decoration.SURFACE_STRUCTURES, feature, - chance); + chance + ); } private static BCLFeature registerOre(String name, Block blockOre, int veins, int veinSize) { - return BCLCommonFeatures.makeOreFeature(BetterEnd.makeID(name), + return BCLCommonFeatures.makeOreFeature( + BetterEnd.makeID(name), blockOre, Blocks.END_STONE, veins, veinSize, 0, - HeightRangePlacement.uniform(VerticalAnchor.bottom(), - VerticalAnchor.absolute(128)), - false); + HeightRangePlacement.uniform( + VerticalAnchor.bottom(), + VerticalAnchor.absolute(128) + ), + false + ); } private static BCLFeature registerLayer(String name, Block block, float radius, int minY, int maxY, int count) { @@ -496,12 +740,14 @@ public class EndFeatures { .buildAndRegister(); } - private static BCLFeature registerLayer(String name, - StoneMaterial material, - float radius, - int minY, - int maxY, - int count) { + private static BCLFeature registerLayer( + String name, + StoneMaterial material, + float radius, + int minY, + int maxY, + int count + ) { return registerLayer(name, material.stone, radius, minY, maxY, count); } diff --git a/src/main/java/org/betterx/betterend/registry/EndItems.java b/src/main/java/org/betterx/betterend/registry/EndItems.java index 61161963..0e79889f 100644 --- a/src/main/java/org/betterx/betterend/registry/EndItems.java +++ b/src/main/java/org/betterx/betterend/registry/EndItems.java @@ -1,20 +1,5 @@ package org.betterx.betterend.registry; -import net.minecraft.sounds.SoundEvent; -import net.minecraft.world.effect.MobEffectInstance; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.Mob; -import net.minecraft.world.food.FoodProperties; -import net.minecraft.world.food.Foods; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.TieredItem; -import net.minecraft.world.item.Tiers; - -import net.fabricmc.fabric.api.item.v1.FabricItemSettings; - import org.betterx.bclib.items.BaseArmorItem; import org.betterx.bclib.items.ModelProviderItem; import org.betterx.bclib.items.tool.BaseAxeItem; @@ -32,6 +17,21 @@ import org.betterx.betterend.item.tool.EndHammerItem; import org.betterx.betterend.item.tool.EndPickaxe; import org.betterx.betterend.tab.CreativeTabs; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.food.FoodProperties; +import net.minecraft.world.food.Foods; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.TieredItem; +import net.minecraft.world.item.Tiers; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; + import java.util.List; import org.jetbrains.annotations.NotNull; @@ -41,10 +41,14 @@ public class EndItems { // Materials // public final static Item ENDER_DUST = registerEndItem("ender_dust"); public final static Item ENDER_SHARD = registerEndItem("ender_shard"); - public final static Item AETERNIUM_INGOT = registerEndItem("aeternium_ingot", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_FORGED_PLATE = registerEndItem("aeternium_forged_plate", - new ModelProviderItem(makeEndItemSettings().fireResistant())); + public final static Item AETERNIUM_INGOT = registerEndItem( + "aeternium_ingot", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_FORGED_PLATE = registerEndItem( + "aeternium_forged_plate", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); public final static Item END_LILY_LEAF = registerEndItem("end_lily_leaf"); public final static Item END_LILY_LEAF_DRIED = registerEndItem("end_lily_leaf_dried"); public final static Item CRYSTAL_SHARDS = registerEndItem("crystal_shards"); @@ -64,146 +68,222 @@ public class EndItems { public final static Item ENCHANTED_MEMBRANE = registerEndItem( "enchanted_membrane", new EnchantedItem(Items.PHANTOM_MEMBRANE) - ); + ); // Music Discs public final static Item MUSIC_DISC_STRANGE_AND_ALIEN = registerEndDisc( "music_disc_strange_and_alien", 0, EndSounds.RECORD_STRANGE_AND_ALIEN - ); + ); public final static Item MUSIC_DISC_GRASPING_AT_STARS = registerEndDisc( "music_disc_grasping_at_stars", 0, EndSounds.RECORD_GRASPING_AT_STARS - ); + ); public final static Item MUSIC_DISC_ENDSEEKER = registerEndDisc( "music_disc_endseeker", 0, EndSounds.RECORD_ENDSEEKER - ); + ); public final static Item MUSIC_DISC_EO_DRACONA = registerEndDisc( "music_disc_eo_dracona", 0, EndSounds.RECORD_EO_DRACONA - ); + ); // Armor // - public static final Item AETERNIUM_HELMET = registerEndItem("aeternium_helmet", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, - EquipmentSlot.HEAD, - makeEndItemSettings().fireResistant())); - public static final Item AETERNIUM_CHESTPLATE = registerEndItem("aeternium_chestplate", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, - EquipmentSlot.CHEST, - makeEndItemSettings().fireResistant())); - public static final Item AETERNIUM_LEGGINGS = registerEndItem("aeternium_leggings", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, - EquipmentSlot.LEGS, - makeEndItemSettings().fireResistant())); - public static final Item AETERNIUM_BOOTS = registerEndItem("aeternium_boots", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, - EquipmentSlot.FEET, - makeEndItemSettings().fireResistant())); + public static final Item AETERNIUM_HELMET = registerEndItem( + "aeternium_helmet", + new BaseArmorItem( + EndArmorMaterial.AETERNIUM, + EquipmentSlot.HEAD, + makeEndItemSettings().fireResistant() + ) + ); + public static final Item AETERNIUM_CHESTPLATE = registerEndItem( + "aeternium_chestplate", + new BaseArmorItem( + EndArmorMaterial.AETERNIUM, + EquipmentSlot.CHEST, + makeEndItemSettings().fireResistant() + ) + ); + public static final Item AETERNIUM_LEGGINGS = registerEndItem( + "aeternium_leggings", + new BaseArmorItem( + EndArmorMaterial.AETERNIUM, + EquipmentSlot.LEGS, + makeEndItemSettings().fireResistant() + ) + ); + public static final Item AETERNIUM_BOOTS = registerEndItem( + "aeternium_boots", + new BaseArmorItem( + EndArmorMaterial.AETERNIUM, + EquipmentSlot.FEET, + makeEndItemSettings().fireResistant() + ) + ); public static final Item CRYSTALITE_HELMET = registerEndItem("crystalite_helmet", new CrystaliteHelmet()); - public static final Item CRYSTALITE_CHESTPLATE = registerEndItem("crystalite_chestplate", - new CrystaliteChestplate()); + public static final Item CRYSTALITE_CHESTPLATE = registerEndItem( + "crystalite_chestplate", + new CrystaliteChestplate() + ); public static final Item CRYSTALITE_LEGGINGS = registerEndItem("crystalite_leggings", new CrystaliteLeggings()); public static final Item CRYSTALITE_BOOTS = registerEndItem("crystalite_boots", new CrystaliteBoots()); - public static final Item ARMORED_ELYTRA = registerEndItem("elytra_armored", - new ArmoredElytra("elytra_armored", - EndArmorMaterial.AETERNIUM, - Items.PHANTOM_MEMBRANE, - 900, - 0.975D, - true)); + public static final Item ARMORED_ELYTRA = registerEndItem( + "elytra_armored", + new ArmoredElytra( + "elytra_armored", + EndArmorMaterial.AETERNIUM, + Items.PHANTOM_MEMBRANE, + 900, + 0.975D, + true + ) + ); public static final Item CRYSTALITE_ELYTRA = registerEndItem("elytra_crystalite", new CrystaliteElytra(650, 0.99D)); // Tools // public static final TieredItem AETERNIUM_SHOVEL = registerEndTool("aeternium_shovel", new BaseShovelItem( EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeEndItemSettings().fireResistant())); - public static final TieredItem AETERNIUM_SWORD = registerEndTool("aeternium_sword", - new BaseSwordItem(EndToolMaterial.AETERNIUM, - 3, - -2.4F, - makeEndItemSettings().fireResistant())); - public static final TieredItem AETERNIUM_PICKAXE = registerEndTool("aeternium_pickaxe", - new EndPickaxe(EndToolMaterial.AETERNIUM, - 1, - -2.8F, - makeEndItemSettings().fireResistant())); - public static final TieredItem AETERNIUM_AXE = registerEndTool("aeternium_axe", - new BaseAxeItem(EndToolMaterial.AETERNIUM, - 5.0F, - -3.0F, - makeEndItemSettings().fireResistant())); - public static final TieredItem AETERNIUM_HOE = registerEndTool("aeternium_hoe", - new BaseHoeItem(EndToolMaterial.AETERNIUM, - -3, - 0.0F, - makeEndItemSettings().fireResistant())); - public static final TieredItem AETERNIUM_HAMMER = registerEndTool("aeternium_hammer", - new EndHammerItem(EndToolMaterial.AETERNIUM, - 6.0F, - -3.0F, - 0.3D, - makeEndItemSettings().fireResistant())); + public static final TieredItem AETERNIUM_SWORD = registerEndTool( + "aeternium_sword", + new BaseSwordItem( + EndToolMaterial.AETERNIUM, + 3, + -2.4F, + makeEndItemSettings().fireResistant() + ) + ); + public static final TieredItem AETERNIUM_PICKAXE = registerEndTool( + "aeternium_pickaxe", + new EndPickaxe( + EndToolMaterial.AETERNIUM, + 1, + -2.8F, + makeEndItemSettings().fireResistant() + ) + ); + public static final TieredItem AETERNIUM_AXE = registerEndTool( + "aeternium_axe", + new BaseAxeItem( + EndToolMaterial.AETERNIUM, + 5.0F, + -3.0F, + makeEndItemSettings().fireResistant() + ) + ); + public static final TieredItem AETERNIUM_HOE = registerEndTool( + "aeternium_hoe", + new BaseHoeItem( + EndToolMaterial.AETERNIUM, + -3, + 0.0F, + makeEndItemSettings().fireResistant() + ) + ); + public static final TieredItem AETERNIUM_HAMMER = registerEndTool( + "aeternium_hammer", + new EndHammerItem( + EndToolMaterial.AETERNIUM, + 6.0F, + -3.0F, + 0.3D, + makeEndItemSettings().fireResistant() + ) + ); // Toolparts // - public final static Item AETERNIUM_SHOVEL_HEAD = registerEndItem("aeternium_shovel_head", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_PICKAXE_HEAD = registerEndItem("aeternium_pickaxe_head", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_AXE_HEAD = registerEndItem("aeternium_axe_head", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_HOE_HEAD = registerEndItem("aeternium_hoe_head", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_HAMMER_HEAD = registerEndItem("aeternium_hammer_head", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_SWORD_BLADE = registerEndItem("aeternium_sword_blade", - new ModelProviderItem(makeEndItemSettings().fireResistant())); - public final static Item AETERNIUM_SWORD_HANDLE = registerEndItem("aeternium_sword_handle", - new ModelProviderItem(makeEndItemSettings().fireResistant())); + public final static Item AETERNIUM_SHOVEL_HEAD = registerEndItem( + "aeternium_shovel_head", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_PICKAXE_HEAD = registerEndItem( + "aeternium_pickaxe_head", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_AXE_HEAD = registerEndItem( + "aeternium_axe_head", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_HOE_HEAD = registerEndItem( + "aeternium_hoe_head", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_HAMMER_HEAD = registerEndItem( + "aeternium_hammer_head", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_SWORD_BLADE = registerEndItem( + "aeternium_sword_blade", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); + public final static Item AETERNIUM_SWORD_HANDLE = registerEndItem( + "aeternium_sword_handle", + new ModelProviderItem(makeEndItemSettings().fireResistant()) + ); // ITEM_HAMMERS // - public static final TieredItem IRON_HAMMER = registerEndTool("iron_hammer", - new EndHammerItem(Tiers.IRON, - 5.0F, - -3.2F, - 0.2D, - makeEndItemSettings())); - public static final TieredItem GOLDEN_HAMMER = registerEndTool("golden_hammer", - new EndHammerItem(Tiers.GOLD, - 4.5F, - -3.4F, - 0.3D, - makeEndItemSettings())); - public static final TieredItem DIAMOND_HAMMER = registerEndTool("diamond_hammer", - new EndHammerItem(Tiers.DIAMOND, - 5.5F, - -3.1F, - 0.2D, - makeEndItemSettings())); - public static final TieredItem NETHERITE_HAMMER = registerEndTool("netherite_hammer", - new EndHammerItem(Tiers.NETHERITE, - 5.0F, - -3.0F, - 0.2D, - makeEndItemSettings().fireResistant())); + public static final TieredItem IRON_HAMMER = registerEndTool( + "iron_hammer", + new EndHammerItem( + Tiers.IRON, + 5.0F, + -3.2F, + 0.2D, + makeEndItemSettings() + ) + ); + public static final TieredItem GOLDEN_HAMMER = registerEndTool( + "golden_hammer", + new EndHammerItem( + Tiers.GOLD, + 4.5F, + -3.4F, + 0.3D, + makeEndItemSettings() + ) + ); + public static final TieredItem DIAMOND_HAMMER = registerEndTool( + "diamond_hammer", + new EndHammerItem( + Tiers.DIAMOND, + 5.5F, + -3.1F, + 0.2D, + makeEndItemSettings() + ) + ); + public static final TieredItem NETHERITE_HAMMER = registerEndTool( + "netherite_hammer", + new EndHammerItem( + Tiers.NETHERITE, + 5.0F, + -3.0F, + 0.2D, + makeEndItemSettings().fireResistant() + ) + ); // Food // public final static Item SHADOW_BERRY_RAW = registerEndFood("shadow_berry_raw", 4, 0.5F); public final static Item SHADOW_BERRY_COOKED = registerEndFood("shadow_berry_cooked", 6, 0.7F); public final static Item END_FISH_RAW = registerEndFood("end_fish_raw", Foods.SALMON); public final static Item END_FISH_COOKED = registerEndFood("end_fish_cooked", Foods.COOKED_SALMON); - public final static Item BUCKET_END_FISH = registerEndItem("bucket_end_fish", - new EndBucketItem(EndEntities.END_FISH)); + public final static Item BUCKET_END_FISH = registerEndItem( + "bucket_end_fish", + new EndBucketItem(EndEntities.END_FISH) + ); public final static Item BUCKET_CUBOZOA = registerEndItem("bucket_cubozoa", new EndBucketItem(EndEntities.CUBOZOA)); public final static Item SWEET_BERRY_JELLY = registerEndFood("sweet_berry_jelly", 8, 0.7F); - public final static Item SHADOW_BERRY_JELLY = registerEndFood("shadow_berry_jelly", - 6, - 0.8F, - new MobEffectInstance(MobEffects.NIGHT_VISION, 400)); + public final static Item SHADOW_BERRY_JELLY = registerEndFood( + "shadow_berry_jelly", + 6, + 0.8F, + new MobEffectInstance(MobEffects.NIGHT_VISION, 400) + ); public final static Item BLOSSOM_BERRY_JELLY = registerEndFood("blossom_berry_jelly", 8, 0.7F); public final static Item BLOSSOM_BERRY = registerEndFood("blossom_berry", Foods.APPLE); public final static Item AMBER_ROOT_RAW = registerEndFood("amber_root_raw", 2, 0.8F); diff --git a/src/main/java/org/betterx/betterend/registry/EndModelProviders.java b/src/main/java/org/betterx/betterend/registry/EndModelProviders.java index bc300b1b..ca25a72b 100644 --- a/src/main/java/org/betterx/betterend/registry/EndModelProviders.java +++ b/src/main/java/org/betterx/betterend/registry/EndModelProviders.java @@ -1,9 +1,10 @@ package org.betterx.betterend.registry; +import org.betterx.betterend.item.model.CrystaliteArmorProvider; + import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.betterx.betterend.item.model.CrystaliteArmorProvider; import shadow.fabric.api.client.rendering.v1.ArmorRenderingRegistry; @Environment(EnvType.CLIENT) diff --git a/src/main/java/org/betterx/betterend/registry/EndParticles.java b/src/main/java/org/betterx/betterend/registry/EndParticles.java index 58e031a8..72388de8 100644 --- a/src/main/java/org/betterx/betterend/registry/EndParticles.java +++ b/src/main/java/org/betterx/betterend/registry/EndParticles.java @@ -1,16 +1,16 @@ package org.betterx.betterend.registry; +import org.betterx.bclib.particles.BCLParticleType; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.particle.*; + +import com.mojang.serialization.Codec; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; import net.minecraft.core.particles.SimpleParticleType; import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry; -import com.mojang.serialization.Codec; -import org.betterx.bclib.particles.BCLParticleType; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.particle.*; - public class EndParticles { public static final SimpleParticleType GLOWING_SPHERE = register("glowing_sphere"); public static final SimpleParticleType PORTAL_SPHERE = register("portal_sphere"); @@ -18,7 +18,7 @@ public class EndParticles { "infusion", InfusionParticleType.PARAMETERS_FACTORY, InfusionParticleType.CODEC - ); + ); public static final SimpleParticleType SULPHUR_PARTICLE = register("sulphur_particle"); public static final SimpleParticleType GEYSER_PARTICLE = registerFar("geyser_particle"); public static final SimpleParticleType SNOWFLAKE = register("snowflake"); @@ -52,9 +52,11 @@ public class EndParticles { return BCLParticleType.register(BetterEnd.makeID(name), true); } - private static ParticleType register(String name, - ParticleOptions.Deserializer type, - Codec codec) { + private static ParticleType register( + String name, + ParticleOptions.Deserializer type, + Codec codec + ) { return BCLParticleType.register(BetterEnd.makeID(name), type, codec); } } diff --git a/src/main/java/org/betterx/betterend/registry/EndPoiTypes.java b/src/main/java/org/betterx/betterend/registry/EndPoiTypes.java index b95d7bf5..7cc7b988 100644 --- a/src/main/java/org/betterx/betterend/registry/EndPoiTypes.java +++ b/src/main/java/org/betterx/betterend/registry/EndPoiTypes.java @@ -10,7 +10,8 @@ public class EndPoiTypes { public static final BCLPoiType ETERNAL_PORTAL_INACTIVE = BCLPoiType.register( BetterEnd.makeID("eternal_portal_inactive"), Set.of(EndBlocks.FLAVOLITE_RUNED_ETERNAL.defaultBlockState().setValue(RunedFlavolite.ACTIVATED, false)), - 0, 1); + 0, 1 + ); public static void register() { diff --git a/src/main/java/org/betterx/betterend/registry/EndPortals.java b/src/main/java/org/betterx/betterend/registry/EndPortals.java index fe5529e0..b900ca00 100644 --- a/src/main/java/org/betterx/betterend/registry/EndPortals.java +++ b/src/main/java/org/betterx/betterend/registry/EndPortals.java @@ -1,5 +1,10 @@ package org.betterx.betterend.registry; +import org.betterx.bclib.util.ColorUtil; +import org.betterx.bclib.util.JsonFactory; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.BetterEnd; + import net.minecraft.resources.ResourceLocation; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; @@ -9,10 +14,6 @@ import net.fabricmc.loader.api.FabricLoader; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.betterx.bclib.util.ColorUtil; -import org.betterx.bclib.util.JsonFactory; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.BetterEnd; import java.io.File; @@ -127,7 +128,7 @@ public class EndPortals { JsonFactory.getInt(obj, "colorRed", 255), JsonFactory.getInt(obj, "colorGreen", 255), JsonFactory.getInt(obj, "colorBlue", 255) - ); + ); } PortalInfo(ResourceLocation dimension, ResourceLocation item, int r, int g, int b) { diff --git a/src/main/java/org/betterx/betterend/registry/EndScreens.java b/src/main/java/org/betterx/betterend/registry/EndScreens.java index 2b39b155..3b791f9b 100644 --- a/src/main/java/org/betterx/betterend/registry/EndScreens.java +++ b/src/main/java/org/betterx/betterend/registry/EndScreens.java @@ -1,10 +1,10 @@ package org.betterx.betterend.registry; -import net.fabricmc.fabric.api.client.screenhandler.v1.ScreenRegistry; - import org.betterx.betterend.client.gui.EndStoneSmelterScreen; import org.betterx.betterend.client.gui.EndStoneSmelterScreenHandler; +import net.fabricmc.fabric.api.client.screenhandler.v1.ScreenRegistry; + public class EndScreens { public static void register() { ScreenRegistry.register(EndStoneSmelterScreenHandler.HANDLER_TYPE, EndStoneSmelterScreen::new); diff --git a/src/main/java/org/betterx/betterend/registry/EndSounds.java b/src/main/java/org/betterx/betterend/registry/EndSounds.java index 8649130c..3e335c02 100644 --- a/src/main/java/org/betterx/betterend/registry/EndSounds.java +++ b/src/main/java/org/betterx/betterend/registry/EndSounds.java @@ -1,10 +1,10 @@ package org.betterx.betterend.registry; +import org.betterx.betterend.BetterEnd; + import net.minecraft.core.Registry; import net.minecraft.sounds.SoundEvent; -import org.betterx.betterend.BetterEnd; - public class EndSounds { // Music public static final SoundEvent MUSIC_FOREST = register("music", "forest"); diff --git a/src/main/java/org/betterx/betterend/registry/EndStructures.java b/src/main/java/org/betterx/betterend/registry/EndStructures.java index b88810ab..7bfaf5e8 100644 --- a/src/main/java/org/betterx/betterend/registry/EndStructures.java +++ b/src/main/java/org/betterx/betterend/registry/EndStructures.java @@ -1,12 +1,5 @@ package org.betterx.betterend.registry; -import net.minecraft.core.Holder; -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.levelgen.GenerationStep.Decoration; -import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType; - import org.betterx.bclib.api.v2.levelgen.structures.BCLStructure; import org.betterx.bclib.api.v2.levelgen.structures.BCLStructureBuilder; import org.betterx.bclib.api.v2.tag.TagAPI; @@ -14,20 +7,29 @@ import org.betterx.betterend.BetterEnd; import org.betterx.betterend.world.structures.features.*; import org.betterx.betterend.world.structures.piece.*; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.levelgen.GenerationStep.Decoration; +import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType; + public class EndStructures { public static final StructurePieceType VOXEL_PIECE = register("voxel", VoxelPiece::new); public static final StructurePieceType MOUNTAIN_PIECE = register("mountain_piece", CrystalMountainPiece::new); public static final StructurePieceType CAVE_PIECE = register("cave_piece", CavePiece::new); public static final StructurePieceType LAKE_PIECE = register("lake_piece", LakePiece::new); - public static final StructurePieceType PAINTED_MOUNTAIN_PIECE = register("painted_mountain_piece", - PaintedMountainPiece::new); + public static final StructurePieceType PAINTED_MOUNTAIN_PIECE = register( + "painted_mountain_piece", + PaintedMountainPiece::new + ); public static final StructurePieceType NBT_PIECE = register("nbt_piece", NBTPiece::new); public static final BCLStructure GIANT_MOSSY_GLOWSHROOM = BCLStructureBuilder - .start(BetterEnd.makeID("giant_mossy_glowshroom"), GiantMossyGlowshroomStructure::new) - .step(Decoration.SURFACE_STRUCTURES) - .randomPlacement(16, 8) - .build(); + .start(BetterEnd.makeID("giant_mossy_glowshroom"), GiantMossyGlowshroomStructure::new) + .step(Decoration.SURFACE_STRUCTURES) + .randomPlacement(16, 8) + .build(); public static final BCLStructure MEGALAKE = BCLStructureBuilder .start(BetterEnd.makeID("megalake"), MegaLakeStructure::new) diff --git a/src/main/java/org/betterx/betterend/registry/EndTags.java b/src/main/java/org/betterx/betterend/registry/EndTags.java index 42aeccad..82c2a38b 100644 --- a/src/main/java/org/betterx/betterend/registry/EndTags.java +++ b/src/main/java/org/betterx/betterend/registry/EndTags.java @@ -1,5 +1,16 @@ package org.betterx.betterend.registry; +import org.betterx.bclib.api.v2.BonemealAPI; +import org.betterx.bclib.api.v2.ComposterAPI; +import org.betterx.bclib.api.v2.tag.*; +import org.betterx.bclib.blocks.BaseVineBlock; +import org.betterx.bclib.blocks.SimpleLeavesBlock; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.basis.EndTerrainBlock; +import org.betterx.betterend.blocks.basis.PedestalBlock; +import org.betterx.betterend.item.tool.EndHammerItem; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.tags.TagKey; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.item.Item; @@ -14,16 +25,6 @@ import net.fabricmc.fabric.mixin.object.builder.AbstractBlockAccessor; import net.fabricmc.fabric.mixin.object.builder.AbstractBlockSettingsAccessor; import com.google.common.collect.Lists; -import org.betterx.bclib.api.v2.BonemealAPI; -import org.betterx.bclib.api.v2.ComposterAPI; -import org.betterx.bclib.api.v2.tag.*; -import org.betterx.bclib.blocks.BaseVineBlock; -import org.betterx.bclib.blocks.SimpleLeavesBlock; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.basis.EndTerrainBlock; -import org.betterx.betterend.blocks.basis.PedestalBlock; -import org.betterx.betterend.item.tool.EndHammerItem; -import org.betterx.betterend.world.biome.EndBiome; import java.util.List; @@ -102,7 +103,7 @@ public class EndTags { CommonBlockTags.END_STONES, EndBlocks.ENDER_ORE, EndBlocks.BRIMSTONE - ); + ); TagAPI.addBlockTag(CommonBlockTags.END_STONES, EndBlocks.BRIMSTONE); TagAPI.addBlockTag(NamedBlockTags.ANVIL, EndBlocks.AETERNIUM_ANVIL); TagAPI.addBlockTag(NamedBlockTags.BEACON_BASE_BLOCKS, EndBlocks.AETERNIUM_BLOCK); @@ -113,7 +114,7 @@ public class EndTags { EndBlocks.ETERNAL_PEDESTAL, EndBlocks.FLAVOLITE_RUNED_ETERNAL, EndBlocks.FLAVOLITE_RUNED - ); + ); TagAPI.addItemTag(CommonItemTags.IRON_INGOTS, EndBlocks.THALLASIUM.ingot); TagAPI.addItemTag(ALLOYING_IRON, Items.IRON_ORE, Items.DEEPSLATE_IRON_ORE, Items.RAW_IRON); diff --git a/src/main/java/org/betterx/betterend/rituals/EternalRitual.java b/src/main/java/org/betterx/betterend/rituals/EternalRitual.java index f645da2b..a5fa4473 100644 --- a/src/main/java/org/betterx/betterend/rituals/EternalRitual.java +++ b/src/main/java/org/betterx/betterend/rituals/EternalRitual.java @@ -1,5 +1,15 @@ package org.betterx.betterend.rituals; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.blocks.EndPortalBlock; +import org.betterx.betterend.blocks.RunedFlavolite; +import org.betterx.betterend.blocks.entities.EternalPedestalEntity; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndFeatures; +import org.betterx.betterend.registry.EndPoiTypes; +import org.betterx.betterend.registry.EndPortals; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Registry; @@ -29,15 +39,6 @@ import net.minecraft.world.level.material.Material; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.blocks.EndPortalBlock; -import org.betterx.betterend.blocks.RunedFlavolite; -import org.betterx.betterend.blocks.entities.EternalPedestalEntity; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndFeatures; -import org.betterx.betterend.registry.EndPoiTypes; -import org.betterx.betterend.registry.EndPortals; import java.awt.*; import java.util.List; @@ -55,7 +56,7 @@ public class EternalRitual { new Point(4, -5), new Point(4, 5), new Point(6, 0) - ); + ); private final static Set FRAME_MAP = Sets.newHashSet( new Point(0, 0), new Point(0, 6), @@ -66,7 +67,7 @@ public class EternalRitual { new Point(3, 2), new Point(3, 3), new Point(3, 4) - ); + ); private final static Set PORTAL_MAP = Sets.newHashSet( new Point(0, 0), new Point(0, 1), @@ -81,7 +82,7 @@ public class EternalRitual { new Point(2, 1), new Point(2, 2), new Point(2, 3) - ); + ); private final static Set BASE_MAP = Sets.newHashSet( new Point(3, 0), new Point(2, 0), @@ -90,7 +91,7 @@ public class EternalRitual { new Point(1, 2), new Point(0, 1), new Point(0, 2) - ); + ); private final static Block BASE = EndBlocks.FLAVOLITE.tiles; private final static Block PEDESTAL = EndBlocks.ETERNAL_PEDESTAL; @@ -236,7 +237,7 @@ public class EternalRitual { 0, 0, 1 - ); + ); serverWorld.sendParticles( ParticleTypes.REVERSE_PORTAL, p.getX() + 0.5, @@ -247,7 +248,7 @@ public class EternalRitual { 0, 0, 0.3 - ); + ); } serverWorld.playSound(null, center, SoundEvents.END_PORTAL_SPAWN, SoundSource.NEUTRAL, 16, 1); } @@ -289,7 +290,7 @@ public class EternalRitual { 0.5, 0.5, 0.1 - ); + ); serverWorld.sendParticles( ParticleTypes.REVERSE_PORTAL, pos.getX() + 0.5, @@ -300,7 +301,7 @@ public class EternalRitual { 0.5, 0.5, 0.3 - ); + ); } pos = center.mutable().move(moveDir, -point.x).move(Direction.UP, point.y); if (!world.getBlockState(pos).is(PORTAL)) { @@ -315,7 +316,7 @@ public class EternalRitual { 0.5, 0.5, 0.1 - ); + ); serverWorld.sendParticles( ParticleTypes.REVERSE_PORTAL, pos.getX() + 0.5, @@ -326,7 +327,7 @@ public class EternalRitual { 0.5, 0.5, 0.3 - ); + ); } }); } @@ -367,10 +368,12 @@ public class EternalRitual { @Nullable private BlockPos findFrame(ServerLevel level, BlockPos.MutableBlockPos startPos) { - Optional found = EndPoiTypes.ETERNAL_PORTAL_INACTIVE.findPoiAround(level, - startPos, - SEARCH_RADIUS >> 4 + 1, - level.getWorldBorder()); + Optional found = EndPoiTypes.ETERNAL_PORTAL_INACTIVE.findPoiAround( + level, + startPos, + SEARCH_RADIUS >> 4 + 1, + level.getWorldBorder() + ); if (found.isPresent()) { if (checkFrame(level, found.get())) return found.get(); @@ -398,10 +401,11 @@ public class EternalRitual { .registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY); double multiplier = Objects.requireNonNull(registry.get(targetWorldId)).coordinateScale(); BlockPos.MutableBlockPos basePos = center.mutable() - .set(center.getX() / multiplier, - center.getY(), - center.getZ() / multiplier - ); + .set( + center.getX() / multiplier, + center.getY(), + center.getZ() / multiplier + ); BlockPos framePos = findFrame(targetWorld, basePos.mutable()); if (framePos != null) { return framePos.above(); @@ -428,12 +432,12 @@ public class EternalRitual { Heightmap.Types.WORLD_SURFACE, checkPos.getX() & 15, checkPos.getZ() & 15 - ); + ); int motionY = chunk.getHeight( Heightmap.Types.MOTION_BLOCKING, checkPos.getX() & 15, checkPos.getZ() & 15 - ); + ); int ceil = Math.min(Math.max(surfaceY, motionY) + 1, worldCeil); if (ceil < 5) continue; checkPos.setY(ceil); @@ -456,7 +460,7 @@ public class EternalRitual { targetWorld.getChunkSource().getGenerator(), new LegacyRandomSource(basePos.asLong()), basePos.below() - ); + ); } else if (targetWorld.dimension() == Level.OVERWORLD) { basePos.setY(targetWorld.getChunk(basePos) .getHeight(Heightmap.Types.WORLD_SURFACE, basePos.getX(), basePos.getZ()) + 1); @@ -464,11 +468,12 @@ public class EternalRitual { EndFeatures.BIOME_ISLAND .getPlacedFeature() .value() - .place(targetWorld, - targetWorld.getChunkSource().getGenerator(), - new LegacyRandomSource(basePos.asLong()), - basePos.below() - ); + .place( + targetWorld, + targetWorld.getChunkSource().getGenerator(), + new LegacyRandomSource(basePos.asLong()), + basePos.below() + ); generatePortal(targetWorld, basePos, portalAxis, portalId); return basePos.immutable(); } @@ -678,7 +683,7 @@ public class EternalRitual { for (BlockPos checkPos : BlockPos.betweenClosed( center.relative(moveDir.getClockWise()), center.relative(moveDir.getCounterClockWise()) - )) { + )) { for (Point point : PORTAL_MAP) { BlockPos pos = checkPos.mutable().move(moveDir, point.x).move(Direction.UP, point.y); BlockState state = world.getBlockState(pos); @@ -706,11 +711,13 @@ public class EternalRitual { * @return Position of the first found block or null. */ @Nullable - public static BlockPos.MutableBlockPos findBlockPos(Level world, - BlockPos.MutableBlockPos checkPos, - int radius, - Block searchBlock, - Predicate condition) { + public static BlockPos.MutableBlockPos findBlockPos( + Level world, + BlockPos.MutableBlockPos checkPos, + int radius, + Block searchBlock, + Predicate condition + ) { Direction moveDirection = Direction.EAST; for (int step = 1; step < radius; step++) { for (int i = 0; i < (step >> 1); i++) { @@ -748,11 +755,13 @@ public class EternalRitual { * @param condition Predicate for test block states in the chunk section * @return List of positions of the all found blocks or empty list. */ - public static List findAllBlockPos(ServerLevel world, - BlockPos.MutableBlockPos checkPos, - int radius, - Block searchBlock, - Predicate condition) { + public static List findAllBlockPos( + ServerLevel world, + BlockPos.MutableBlockPos checkPos, + int radius, + Block searchBlock, + Predicate condition + ) { //make sure chunks are properly loaded for faster searches PoiManager poiManager = world.getPoiManager(); poiManager.ensureLoadedAndValid(world, checkPos, radius >> 4); diff --git a/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java b/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java index c1d193cf..f8c4dfa5 100644 --- a/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java +++ b/src/main/java/org/betterx/betterend/rituals/InfusionRitual.java @@ -1,5 +1,10 @@ package org.betterx.betterend.rituals; +import org.betterx.betterend.blocks.entities.InfusionPedestalEntity; +import org.betterx.betterend.blocks.entities.PedestalBlockEntity; +import org.betterx.betterend.particle.InfusionParticleType; +import org.betterx.betterend.recipe.builders.InfusionRecipe; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -11,11 +16,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; -import org.betterx.betterend.blocks.entities.InfusionPedestalEntity; -import org.betterx.betterend.blocks.entities.PedestalBlockEntity; -import org.betterx.betterend.particle.InfusionParticleType; -import org.betterx.betterend.recipe.builders.InfusionRecipe; - import java.awt.*; import java.util.Arrays; import java.util.Objects; @@ -136,7 +136,7 @@ public class InfusionRitual implements Container { ty - sy, tz - sz, 0.5 - ); + ); } } } diff --git a/src/main/java/org/betterx/betterend/tab/CreativeTabs.java b/src/main/java/org/betterx/betterend/tab/CreativeTabs.java index ae79e8ad..53bb823b 100644 --- a/src/main/java/org/betterx/betterend/tab/CreativeTabs.java +++ b/src/main/java/org/betterx/betterend/tab/CreativeTabs.java @@ -1,14 +1,14 @@ package org.betterx.betterend.tab; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; - import java.util.stream.Collectors; public class CreativeTabs { diff --git a/src/main/java/org/betterx/betterend/util/BlockFixer.java b/src/main/java/org/betterx/betterend/util/BlockFixer.java index 939c8606..2d189355 100644 --- a/src/main/java/org/betterx/betterend/util/BlockFixer.java +++ b/src/main/java/org/betterx/betterend/util/BlockFixer.java @@ -1,5 +1,13 @@ package org.betterx.betterend.util; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.bclib.blocks.BaseVineBlock; +import org.betterx.bclib.blocks.StalactiteBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.BlueVineBlock; +import org.betterx.betterend.blocks.basis.FurBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -12,13 +20,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.dimension.DimensionType; import com.google.common.collect.Sets; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.bclib.blocks.BaseVineBlock; -import org.betterx.bclib.blocks.StalactiteBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.BlueVineBlock; -import org.betterx.betterend.blocks.basis.FurBlock; -import org.betterx.betterend.registry.EndBlocks; import java.util.Set; import java.util.stream.IntStream; @@ -129,7 +130,7 @@ public class BlockFixer { if ((st.is(Blocks.CHORUS_PLANT) || st.is(Blocks.CHORUS_FLOWER)) && !st.canSurvive( level, p - )) { + )) { add.add(p); } } @@ -138,7 +139,7 @@ public class BlockFixer { if ((st.is(Blocks.CHORUS_PLANT) || st.is(Blocks.CHORUS_FLOWER)) && !st.canSurvive( level, p - )) { + )) { add.add(p); } }); diff --git a/src/main/java/org/betterx/betterend/util/BonemealPlants.java b/src/main/java/org/betterx/betterend/util/BonemealPlants.java index 4afdcbe2..24e6655e 100644 --- a/src/main/java/org/betterx/betterend/util/BonemealPlants.java +++ b/src/main/java/org/betterx/betterend/util/BonemealPlants.java @@ -1,13 +1,14 @@ package org.betterx.betterend.util; +import org.betterx.bclib.api.v2.BonemealAPI; +import org.betterx.betterend.blocks.basis.EndTerrainBlock; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import com.google.common.collect.Lists; -import org.betterx.bclib.api.v2.BonemealAPI; -import org.betterx.betterend.blocks.basis.EndTerrainBlock; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; @@ -33,7 +34,7 @@ public class BonemealPlants { EndBiomes.GLOWING_GRASSLANDS.getID(), EndBlocks.BLOOMING_COOKSONIA, EndBlocks.END_MOSS - ); + ); BonemealAPI.addLandGrass(EndBiomes.GLOWING_GRASSLANDS.getID(), EndBlocks.VAIOLUSH_FERN, EndBlocks.END_MOSS); BonemealAPI.addLandGrass(EndBiomes.GLOWING_GRASSLANDS.getID(), EndBlocks.FRACTURN, EndBlocks.END_MOSS); BonemealAPI.addLandGrass(EndBiomes.GLOWING_GRASSLANDS.getID(), EndBlocks.SALTEAGO, EndBlocks.END_MOSS); @@ -43,19 +44,19 @@ public class BonemealPlants { EndBlocks.CREEPING_MOSS, EndBlocks.END_MOSS, 0.1F - ); + ); BonemealAPI.addLandGrass( EndBiomes.GLOWING_GRASSLANDS.getID(), EndBlocks.UMBRELLA_MOSS, EndBlocks.END_MOSS, 0.1F - ); + ); BonemealAPI.addLandGrass( EndBiomes.GLOWING_GRASSLANDS.getID(), EndBlocks.TWISTED_UMBRELLA_MOSS, EndBlocks.END_MOSS, 0.1F - ); + ); BonemealAPI.addLandGrass(EndBlocks.ORANGO, EndBlocks.RUTISCUS); BonemealAPI.addLandGrass(EndBlocks.AERIDIUM, EndBlocks.RUTISCUS, 0.2F); @@ -71,13 +72,13 @@ public class BonemealPlants { EndBlocks.SANGNUM, EndBlocks.MOSSY_OBSIDIAN, EndBlocks.MOSSY_DRAGON_BONE - ); + ); BonemealAPI.addLandGrass( EndBlocks.CLAWFERN, EndBlocks.SANGNUM, EndBlocks.MOSSY_OBSIDIAN, EndBlocks.MOSSY_DRAGON_BONE - ); + ); BonemealAPI.addLandGrass(EndBlocks.SANGNUM, EndBlocks.SMALL_AMARANITA_MUSHROOM, 0.1F); BonemealAPI.addLandGrass(EndBlocks.SMALL_AMARANITA_MUSHROOM, EndBlocks.MOSSY_OBSIDIAN, 0.1F); BonemealAPI.addLandGrass(EndBlocks.SMALL_AMARANITA_MUSHROOM, EndBlocks.MOSSY_DRAGON_BONE, 0.1F); diff --git a/src/main/java/org/betterx/betterend/util/LootTableUtil.java b/src/main/java/org/betterx/betterend/util/LootTableUtil.java index 44d135aa..6041911c 100644 --- a/src/main/java/org/betterx/betterend/util/LootTableUtil.java +++ b/src/main/java/org/betterx/betterend/util/LootTableUtil.java @@ -1,5 +1,13 @@ package org.betterx.betterend.util; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.complexmaterials.WoodenComplexMaterial; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndItems; + import net.minecraft.core.Holder; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Items; @@ -11,15 +19,8 @@ import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; -import net.fabricmc.fabric.api.loot.v2.LootTableEvents; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.complexmaterials.WoodenComplexMaterial; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndItems; +import net.fabricmc.fabric.api.loot.v2.LootTableEvents; public class LootTableUtil { private static final ResourceLocation END_CITY_TREASURE_ID = new ResourceLocation("chests/end_city_treasure"); @@ -49,7 +50,7 @@ public class LootTableUtil { } else if (id.getNamespace().equals(BetterEnd.MOD_ID)) { addCommonItems(table); if (FOGGY_MUSHROOMLAND.equals(id)) { - LootPool.Builder builder =LootPool.lootPool(); + LootPool.Builder builder = LootPool.lootPool(); builder.setRolls(UniformGenerator.between(4, 8)); builder.add(LootItem.lootTableItem(EndBlocks.MOSSY_GLOWSHROOM.getBlock(WoodenComplexMaterial.BLOCK_PLANKS))); builder.add(LootItem.lootTableItem(EndBlocks.MOSSY_GLOWSHROOM_SAPLING)); @@ -71,7 +72,7 @@ public class LootTableUtil { builder.add(LootItem.lootTableItem(EndItems.SHADOW_BERRY_RAW)); table.withPool(builder); } else if (LANTERN_WOODS.equals(id)) { - LootPool.Builder builder =LootPool.lootPool(); + LootPool.Builder builder = LootPool.lootPool(); builder.setRolls(UniformGenerator.between(4, 8)); builder.add(LootItem.lootTableItem(EndBlocks.LUCERNIA.getBlock(WoodenComplexMaterial.BLOCK_PLANKS))); builder.add(LootItem.lootTableItem(EndBlocks.LUCERNIA_SAPLING)); diff --git a/src/main/java/org/betterx/betterend/util/StructureErode.java b/src/main/java/org/betterx/betterend/util/StructureErode.java index 66136d97..d0462126 100644 --- a/src/main/java/org/betterx/betterend/util/StructureErode.java +++ b/src/main/java/org/betterx/betterend/util/StructureErode.java @@ -1,5 +1,10 @@ package org.betterx.betterend.util; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -12,10 +17,6 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.material.Material; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; import java.util.Set; @@ -38,7 +39,7 @@ public class StructureErode { state, world, mut - ) && random.nextInt(8) == 0 && world.isEmptyBlock( + ) && random.nextInt(8) == 0 && world.isEmptyBlock( mut.below(2))) { int r = MHelper.randRange(1, 4, random); int cx = mut.getX(); @@ -66,7 +67,7 @@ public class StructureErode { world.getBlockState(mut), world, mut - )) { + )) { BlocksHelper.setWithoutUpdate(world, mut, Blocks.AIR); } } @@ -102,7 +103,7 @@ public class StructureErode { world.getBlockState(mut.above()), world, mut - )) { + )) { BlocksHelper.setWithoutUpdate(world, mut, Blocks.AIR); } } diff --git a/src/main/java/org/betterx/betterend/world/biome/EndBiome.java b/src/main/java/org/betterx/betterend/world/biome/EndBiome.java index 7d91acd7..fdf16111 100644 --- a/src/main/java/org/betterx/betterend/world/biome/EndBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/EndBiome.java @@ -1,14 +1,5 @@ package org.betterx.betterend.world.biome; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.SurfaceRules; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; @@ -22,6 +13,15 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.registry.EndTags; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.SurfaceRules; + public class EndBiome extends BCLBiome implements SurfaceMaterialProvider { public static class DefaultSurfaceMaterialProvider implements SurfaceMaterialProvider { public static final BlockState END_STONE = Blocks.END_STONE.defaultBlockState(); diff --git a/src/main/java/org/betterx/betterend/world/biome/air/BiomeIceStarfield.java b/src/main/java/org/betterx/betterend/world/biome/air/BiomeIceStarfield.java index db442802..39974b50 100644 --- a/src/main/java/org/betterx/betterend/world/biome/air/BiomeIceStarfield.java +++ b/src/main/java/org/betterx/betterend/world/biome/air/BiomeIceStarfield.java @@ -1,13 +1,13 @@ package org.betterx.betterend.world.biome.air; -import net.minecraft.world.entity.EntityType; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.registry.EndStructures; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.world.entity.EntityType; + public class BiomeIceStarfield extends EndBiome.Config { public BiomeIceStarfield() { super("ice_starfield"); diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/EmptyAuroraCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/EmptyAuroraCaveBiome.java index b434d6ee..06a8a0e4 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/EmptyAuroraCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/EmptyAuroraCaveBiome.java @@ -1,7 +1,5 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.resources.ResourceLocation; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; @@ -9,6 +7,8 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.resources.ResourceLocation; + public class EmptyAuroraCaveBiome extends EndCaveBiome.Config { public static class Biome extends EndCaveBiome { public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome, BCLBiomeSettings settings) { diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/EmptyEndCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/EmptyEndCaveBiome.java index b917b566..aff4e99f 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/EmptyEndCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/EmptyEndCaveBiome.java @@ -1,13 +1,13 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.resources.ResourceLocation; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.resources.ResourceLocation; + public class EmptyEndCaveBiome extends EndCaveBiome.Config { public static class Biome extends EndCaveBiome { public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome, BCLBiomeSettings settings) { diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java index d8bcf749..bf8b80e1 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/EmptySmaragdantCaveBiome.java @@ -1,7 +1,5 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.resources.ResourceLocation; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; @@ -9,6 +7,8 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.resources.ResourceLocation; + public class EmptySmaragdantCaveBiome extends EndCaveBiome.Config { public static class Biome extends EndCaveBiome { public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome, BCLBiomeSettings settings) { diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java index a03461c4..d92c6803 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/EndCaveBiome.java @@ -1,13 +1,5 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.GenerationStep; -import net.minecraft.world.level.levelgen.feature.Feature; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; @@ -20,6 +12,14 @@ import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; import org.betterx.betterend.world.features.terrain.caves.CaveChunkPopulatorFeature; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.biome.Biome; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.GenerationStep; +import net.minecraft.world.level.levelgen.feature.Feature; + public class EndCaveBiome extends EndBiome { public static abstract class Config extends EndBiome.Config { protected Config(String name) { diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/JadeCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/JadeCaveBiome.java index e8ac4307..2d72d903 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/JadeCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/JadeCaveBiome.java @@ -1,10 +1,5 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; @@ -12,6 +7,11 @@ import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; +import net.minecraft.world.level.block.state.BlockState; + public class JadeCaveBiome extends EndCaveBiome.Config { public static class Biome extends EndCaveBiome { private static final OpenSimplexNoise WALL_NOISE = new OpenSimplexNoise("jade_cave".hashCode()); @@ -29,8 +29,10 @@ public class JadeCaveBiome extends EndCaveBiome.Config { @Override public BlockState getWall(BlockPos pos) { double depth = DEPTH_NOISE.eval(pos.getX() * 0.02, pos.getZ() * 0.02) * 0.2 + 0.5; - int index = Mth.floor((pos.getY() + WALL_NOISE.eval(pos.getX() * 0.2, - pos.getZ() * 0.2) * 1.5) * depth + 0.5); + int index = Mth.floor((pos.getY() + WALL_NOISE.eval( + pos.getX() * 0.2, + pos.getZ() * 0.2 + ) * 1.5) * depth + 0.5); index = Mth.abs(index) % 3; return JADE[index]; } diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/LushAuroraCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/LushAuroraCaveBiome.java index fe70f635..578b1807 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/LushAuroraCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/LushAuroraCaveBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; @@ -14,6 +10,10 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.state.BlockState; + public class LushAuroraCaveBiome extends EndCaveBiome.Config { public static class Biome extends EndCaveBiome { public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome, BCLBiomeSettings settings) { diff --git a/src/main/java/org/betterx/betterend/world/biome/cave/LushSmaragdantCaveBiome.java b/src/main/java/org/betterx/betterend/world/biome/cave/LushSmaragdantCaveBiome.java index cb88c615..301e6947 100644 --- a/src/main/java/org/betterx/betterend/world/biome/cave/LushSmaragdantCaveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/cave/LushSmaragdantCaveBiome.java @@ -1,8 +1,5 @@ package org.betterx.betterend.world.biome.cave; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder.BiomeSupplier; import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings; @@ -12,6 +9,9 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.state.BlockState; + public class LushSmaragdantCaveBiome extends EndCaveBiome.Config { public static class Biome extends EndCaveBiome { public Biome(ResourceLocation biomeID, net.minecraft.world.level.biome.Biome biome, BCLBiomeSettings settings) { diff --git a/src/main/java/org/betterx/betterend/world/biome/land/AmberLandBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/AmberLandBiome.java index aab45d20..4fcb9bb1 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/AmberLandBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/AmberLandBiome.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.*; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class AmberLandBiome extends EndBiome.Config { public AmberLandBiome() { super("amber_land"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java index aa501c8c..9466717a 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/BlossomingSpiresBiome.java @@ -1,8 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -11,6 +8,9 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class BlossomingSpiresBiome extends EndBiome.Config { public BlossomingSpiresBiome() { super("blossoming_spires"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/ChorusForestBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/ChorusForestBiome.java index ea167355..a087f443 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/ChorusForestBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/ChorusForestBiome.java @@ -1,12 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.data.worldgen.placement.EndPlacements; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.GenerationStep.Decoration; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -15,6 +8,13 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.data.worldgen.placement.EndPlacements; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.GenerationStep.Decoration; + public class ChorusForestBiome extends EndBiome.Config { public ChorusForestBiome() { super("chorus_forest"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/CrystalMountainsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/CrystalMountainsBiome.java index 9e0fded6..de614445 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/CrystalMountainsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/CrystalMountainsBiome.java @@ -1,8 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -11,6 +8,9 @@ import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.registry.EndStructures; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class CrystalMountainsBiome extends EndBiome.Config { public CrystalMountainsBiome() { super("crystal_mountains"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/DragonGraveyardsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/DragonGraveyardsBiome.java index b5b8492c..6cbf7183 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/DragonGraveyardsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/DragonGraveyardsBiome.java @@ -1,8 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -11,6 +8,9 @@ import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class DragonGraveyardsBiome extends EndBiome.Config { public DragonGraveyardsBiome() { super("dragon_graveyards"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/DryShrublandBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/DryShrublandBiome.java index b8ea43d7..99f832a8 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/DryShrublandBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/DryShrublandBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -11,6 +7,10 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class DryShrublandBiome extends EndBiome.Config { public DryShrublandBiome() { super("dry_shrubland"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/DustWastelandsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/DustWastelandsBiome.java index b4deeb7d..4be2f5f8 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/DustWastelandsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/DustWastelandsBiome.java @@ -1,5 +1,12 @@ package org.betterx.betterend.world.biome.land; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; +import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder; +import org.betterx.bclib.interfaces.SurfaceMaterialProvider; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndSounds; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.particles.ParticleTypes; import net.minecraft.tags.BiomeTags; import net.minecraft.world.entity.EntityType; @@ -8,13 +15,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.SurfaceRules; import net.minecraft.world.level.levelgen.placement.CaveSurface; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; -import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder; -import org.betterx.bclib.interfaces.SurfaceMaterialProvider; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndSounds; -import org.betterx.betterend.world.biome.EndBiome; - public class DustWastelandsBiome extends EndBiome.Config { public DustWastelandsBiome() { super("dust_wastelands"); @@ -47,9 +47,10 @@ public class DustWastelandsBiome extends EndBiome.Config { return super .surface() .ceil(Blocks.END_STONE.defaultBlockState()) - .rule(4, SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(5, false, CaveSurface.FLOOR), - SurfaceRules.state(EndBlocks.ENDSTONE_DUST.defaultBlockState()) - )); + .rule(4, SurfaceRules.ifTrue( + SurfaceRules.stoneDepthCheck(5, false, CaveSurface.FLOOR), + SurfaceRules.state(EndBlocks.ENDSTONE_DUST.defaultBlockState()) + )); } }; } diff --git a/src/main/java/org/betterx/betterend/world/biome/land/FoggyMushroomlandBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/FoggyMushroomlandBiome.java index 4e44909e..2b07292d 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/FoggyMushroomlandBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/FoggyMushroomlandBiome.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.*; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class FoggyMushroomlandBiome extends EndBiome.Config { public FoggyMushroomlandBiome() { super("foggy_mushroomland"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/GlowingGrasslandsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/GlowingGrasslandsBiome.java index 6d16e31b..887240a6 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/GlowingGrasslandsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/GlowingGrasslandsBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -12,6 +8,10 @@ import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class GlowingGrasslandsBiome extends EndBiome.Config { public GlowingGrasslandsBiome() { super("glowing_grasslands"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/LanternWoodsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/LanternWoodsBiome.java index 121c4eaa..900d60db 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/LanternWoodsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/LanternWoodsBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -12,6 +8,10 @@ import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class LanternWoodsBiome extends EndBiome.Config { public LanternWoodsBiome() { super("lantern_woods"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/MegalakeBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/MegalakeBiome.java index 6bf73c2f..d25390c0 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/MegalakeBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/MegalakeBiome.java @@ -1,13 +1,13 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.*; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class MegalakeBiome extends EndBiome.Config { public MegalakeBiome() { super("megalake"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/MegalakeGroveBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/MegalakeGroveBiome.java index a20b3e16..4ad52a8b 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/MegalakeGroveBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/MegalakeGroveBiome.java @@ -1,13 +1,13 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.*; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class MegalakeGroveBiome extends EndBiome.Config { public MegalakeGroveBiome() { super("megalake_grove"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/NeonOasisBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/NeonOasisBiome.java index 8ab6a312..1ef14131 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/NeonOasisBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/NeonOasisBiome.java @@ -1,14 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.SurfaceRules; -import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; -import net.minecraft.world.level.levelgen.placement.CaveSurface; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder; import org.betterx.bclib.api.v2.levelgen.surface.rules.SwitchRuleSource; @@ -19,6 +10,15 @@ import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; import org.betterx.betterend.world.surface.SplitNoiseCondition; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.SurfaceRules; +import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; +import net.minecraft.world.level.levelgen.placement.CaveSurface; + import java.util.List; public class NeonOasisBiome extends EndBiome.Config { @@ -67,15 +67,16 @@ public class NeonOasisBiome extends EndBiome.Config { List.of( SurfaceRules.state(EndBlocks.ENDSTONE_DUST.defaultBlockState()), SurfaceRules.state(EndBlocks.END_MOSS.defaultBlockState()) - ) + ) ); return super .surface() .ceil(Blocks.END_STONE.defaultBlockState()) .rule(1, SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, surfaceBlockRule)) - .rule(4, SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(5, false, CaveSurface.FLOOR), - SurfaceRules.state(EndBlocks.ENDSTONE_DUST.defaultBlockState()) - )); + .rule(4, SurfaceRules.ifTrue( + SurfaceRules.stoneDepthCheck(5, false, CaveSurface.FLOOR), + SurfaceRules.state(EndBlocks.ENDSTONE_DUST.defaultBlockState()) + )); } }; } diff --git a/src/main/java/org/betterx/betterend/world/biome/land/PaintedMountainsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/PaintedMountainsBiome.java index c7c66aad..485f7f17 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/PaintedMountainsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/PaintedMountainsBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -11,6 +7,10 @@ import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.registry.EndStructures; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class PaintedMountainsBiome extends EndBiome.Config { public PaintedMountainsBiome() { super("painted_mountains"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/ShadowForestBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/ShadowForestBiome.java index 7db6537f..aafe2d6b 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/ShadowForestBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/ShadowForestBiome.java @@ -1,10 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -13,6 +8,11 @@ import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class ShadowForestBiome extends EndBiome.Config { public ShadowForestBiome() { super("shadow_forest"); diff --git a/src/main/java/org/betterx/betterend/world/biome/land/SulphurSpringsBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/SulphurSpringsBiome.java index d3cd459d..b619b422 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/SulphurSpringsBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/SulphurSpringsBiome.java @@ -1,12 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.SurfaceRules; -import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; -import net.minecraft.world.level.levelgen.placement.CaveSurface; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder; import org.betterx.bclib.api.v2.levelgen.surface.rules.SwitchRuleSource; @@ -15,6 +8,13 @@ import org.betterx.betterend.registry.*; import org.betterx.betterend.world.biome.EndBiome; import org.betterx.betterend.world.surface.SulphuricSurfaceNoiseCondition; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.SurfaceRules; +import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; +import net.minecraft.world.level.levelgen.placement.CaveSurface; + import java.util.List; public class SulphurSpringsBiome extends EndBiome.Config { @@ -78,14 +78,18 @@ public class SulphurSpringsBiome extends EndBiome.Config { SurfaceRules.state(surfaceMaterial().getTopMaterial()), SULPHURIC_ROCK, BRIMSTONE - ) + ) ); return super .surface() .rule(2, SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, surfaceBlockRule)) - .rule(2, - SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(5, false, CaveSurface.FLOOR), - surfaceBlockRule)); + .rule( + 2, + SurfaceRules.ifTrue( + SurfaceRules.stoneDepthCheck(5, false, CaveSurface.FLOOR), + surfaceBlockRule + ) + ); } }; } diff --git a/src/main/java/org/betterx/betterend/world/biome/land/UmbraValleyBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/UmbraValleyBiome.java index 78e284d6..9ff06046 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/UmbraValleyBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/UmbraValleyBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.SurfaceRules; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder; import org.betterx.bclib.api.v2.levelgen.surface.rules.SwitchRuleSource; @@ -15,6 +11,10 @@ import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; import org.betterx.betterend.world.surface.UmbraSurfaceNoiseCondition; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.SurfaceRules; + import java.util.List; public class UmbraValleyBiome extends EndBiome.Config { @@ -71,18 +71,19 @@ public class UmbraValleyBiome extends EndBiome.Config { @Override public SurfaceRuleBuilder surface() { return super.surface() - .rule(2, SurfaceRules.ifTrue(SurfaceRules.ON_FLOOR, - new SwitchRuleSource( - new UmbraSurfaceNoiseCondition(), - List.of( - SurfaceRules.state(surfaceMaterial().getAltTopMaterial()), - PALLIDIUM_HEAVY, - PALLIDIUM_THIN, - PALLIDIUM_TINY, - SurfaceRules.state(surfaceMaterial().getTopMaterial()) - ) - ) - )); + .rule(2, SurfaceRules.ifTrue( + SurfaceRules.ON_FLOOR, + new SwitchRuleSource( + new UmbraSurfaceNoiseCondition(), + List.of( + SurfaceRules.state(surfaceMaterial().getAltTopMaterial()), + PALLIDIUM_HEAVY, + PALLIDIUM_THIN, + PALLIDIUM_TINY, + SurfaceRules.state(surfaceMaterial().getTopMaterial()) + ) + ) + )); } }; } diff --git a/src/main/java/org/betterx/betterend/world/biome/land/UmbrellaJungleBiome.java b/src/main/java/org/betterx/betterend/world/biome/land/UmbrellaJungleBiome.java index 59379774..fe7077fc 100644 --- a/src/main/java/org/betterx/betterend/world/biome/land/UmbrellaJungleBiome.java +++ b/src/main/java/org/betterx/betterend/world/biome/land/UmbrellaJungleBiome.java @@ -1,9 +1,5 @@ package org.betterx.betterend.world.biome.land; -import net.minecraft.tags.BiomeTags; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.level.block.state.BlockState; - import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeBuilder; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.betterend.registry.EndBlocks; @@ -12,6 +8,10 @@ import org.betterx.betterend.registry.EndParticles; import org.betterx.betterend.registry.EndSounds; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.tags.BiomeTags; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.level.block.state.BlockState; + public class UmbrellaJungleBiome extends EndBiome.Config { public UmbrellaJungleBiome() { super("umbrella_jungle"); diff --git a/src/main/java/org/betterx/betterend/world/features/BiomeIslandFeature.java b/src/main/java/org/betterx/betterend/world/features/BiomeIslandFeature.java index 0cf98fe3..f35beb91 100644 --- a/src/main/java/org/betterx/betterend/world/features/BiomeIslandFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/BiomeIslandFeature.java @@ -1,13 +1,5 @@ package org.betterx.betterend.world.features; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.SDFDisplacement; @@ -17,6 +9,14 @@ import org.betterx.bclib.util.BlocksHelper; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.world.biome.EndBiome; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + public class BiomeIslandFeature extends DefaultFeature { private static final MutableBlockPos CENTER = new MutableBlockPos(); private static final SDF ISLAND; diff --git a/src/main/java/org/betterx/betterend/world/features/BlueVineFeature.java b/src/main/java/org/betterx/betterend/world/features/BlueVineFeature.java index a17f1105..e9220401 100644 --- a/src/main/java/org/betterx/betterend/world/features/BlueVineFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/BlueVineFeature.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.features; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; - import org.betterx.bclib.util.BlocksHelper; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; + public class BlueVineFeature extends ScatterFeature { private boolean small; @@ -18,15 +18,17 @@ public class BlueVineFeature extends ScatterFeature { @Override @SuppressWarnings("deprecation") - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { float d = MHelper.length( center.getX() - blockPos.getX(), center.getZ() - blockPos.getZ() - ) / radius * 0.6F + random.nextFloat() * 0.4F; + ) / radius * 0.6F + random.nextFloat() * 0.4F; small = d > 0.5F; return EndBlocks.BLUE_VINE_SEED.canSurvive(AIR, world, blockPos); } @@ -38,7 +40,7 @@ public class BlueVineFeature extends ScatterFeature { world, blockPos, EndBlocks.BLUE_VINE_SEED.defaultBlockState().setValue(EndPlantWithAgeBlock.AGE, random.nextInt(4)) - ); + ); } else { EndPlantWithAgeBlock seed = ((EndPlantWithAgeBlock) EndBlocks.BLUE_VINE_SEED); seed.growAdult(world, random, blockPos); diff --git a/src/main/java/org/betterx/betterend/world/features/BuildingListFeature.java b/src/main/java/org/betterx/betterend/world/features/BuildingListFeature.java index db6c201a..795c9c76 100644 --- a/src/main/java/org/betterx/betterend/world/features/BuildingListFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/BuildingListFeature.java @@ -1,5 +1,7 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.util.LootTableUtil; + import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.util.RandomSource; @@ -15,9 +17,6 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProc import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo; - -import org.betterx.betterend.util.LootTableUtil; - import java.util.List; import org.jetbrains.annotations.Nullable; @@ -35,12 +34,14 @@ public class BuildingListFeature extends ListFeature { class ChestProcessor extends StructureProcessor { @Nullable @Override - public StructureTemplate.StructureBlockInfo processBlock(LevelReader levelReader, - BlockPos blockPos, - BlockPos blockPos2, - StructureBlockInfo structureBlockInfo, - StructureBlockInfo structureBlockInfo2, - StructurePlaceSettings structurePlaceSettings) { + public StructureTemplate.StructureBlockInfo processBlock( + LevelReader levelReader, + BlockPos blockPos, + BlockPos blockPos2, + StructureBlockInfo structureBlockInfo, + StructureBlockInfo structureBlockInfo2, + StructurePlaceSettings structurePlaceSettings + ) { BlockState blockState = structureBlockInfo2.state; if (blockState.getBlock() instanceof ChestBlock) { RandomSource random = structurePlaceSettings.getRandom(structureBlockInfo2.pos); diff --git a/src/main/java/org/betterx/betterend/world/features/CavePumpkinFeature.java b/src/main/java/org/betterx/betterend/world/features/CavePumpkinFeature.java index 9233db7f..c3f708f6 100644 --- a/src/main/java/org/betterx/betterend/world/features/CavePumpkinFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/CavePumpkinFeature.java @@ -1,17 +1,17 @@ package org.betterx.betterend.world.features; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.util.BlocksHelper; import org.betterx.betterend.blocks.EndBlockProperties; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + public class CavePumpkinFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/CrashedShipFeature.java b/src/main/java/org/betterx/betterend/world/features/CrashedShipFeature.java index 9f4d596d..af8cbc3a 100644 --- a/src/main/java/org/betterx/betterend/world/features/CrashedShipFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/CrashedShipFeature.java @@ -1,5 +1,12 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.StructureHelper; +import org.betterx.betterend.util.BlockFixer; +import org.betterx.betterend.util.StructureErode; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; @@ -16,13 +23,6 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.*; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate.StructureBlockInfo; import net.minecraft.world.level.material.Material; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.StructureHelper; -import org.betterx.betterend.util.BlockFixer; -import org.betterx.betterend.util.StructureErode; -import org.betterx.betterend.world.biome.EndBiome; - public class CrashedShipFeature extends NBTFeature { private static final StructureProcessor REPLACER; private static final String STRUCTURE_PATH = "/data/minecraft/structures/end_city/ship.nbt"; @@ -125,12 +125,14 @@ public class CrashedShipFeature extends NBTFeature { static { REPLACER = new StructureProcessor() { @Override - public StructureBlockInfo processBlock(LevelReader worldView, - BlockPos pos, - BlockPos blockPos, - StructureBlockInfo structureBlockInfo, - StructureBlockInfo structureBlockInfo2, - StructurePlaceSettings structurePlacementData) { + public StructureBlockInfo processBlock( + LevelReader worldView, + BlockPos pos, + BlockPos blockPos, + StructureBlockInfo structureBlockInfo, + StructureBlockInfo structureBlockInfo2, + StructurePlaceSettings structurePlacementData + ) { BlockState state = structureBlockInfo2.state; if (state.is(Blocks.SPAWNER) || state.getMaterial().equals(Material.WOOL)) { return new StructureBlockInfo(structureBlockInfo2.pos, AIR, null); diff --git a/src/main/java/org/betterx/betterend/world/features/DoublePlantFeature.java b/src/main/java/org/betterx/betterend/world/features/DoublePlantFeature.java index 99dbe579..d6409478 100644 --- a/src/main/java/org/betterx/betterend/world/features/DoublePlantFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/DoublePlantFeature.java @@ -1,15 +1,15 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; - public class DoublePlantFeature extends ScatterFeature { private final Block smallPlant; private final Block largePlant; @@ -22,15 +22,17 @@ public class DoublePlantFeature extends ScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { float d = MHelper.length( center.getX() - blockPos.getX(), center.getZ() - blockPos.getZ() - ) / radius * 0.6F + random.nextFloat() * 0.4F; + ) / radius * 0.6F + random.nextFloat() * 0.4F; plant = d < 0.5F ? largePlant : smallPlant; return plant.canSurvive(plant.defaultBlockState(), world, blockPos); } diff --git a/src/main/java/org/betterx/betterend/world/features/EndLilyFeature.java b/src/main/java/org/betterx/betterend/world/features/EndLilyFeature.java index e4e7f7ac..f19e7e51 100644 --- a/src/main/java/org/betterx/betterend/world/features/EndLilyFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/EndLilyFeature.java @@ -1,12 +1,12 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.blocks.EndLilySeedBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; -import org.betterx.betterend.blocks.EndLilySeedBlock; -import org.betterx.betterend.registry.EndBlocks; - public class EndLilyFeature extends UnderwaterPlantScatter { public EndLilyFeature(int radius) { super(radius); diff --git a/src/main/java/org/betterx/betterend/world/features/EndLotusFeature.java b/src/main/java/org/betterx/betterend/world/features/EndLotusFeature.java index b4e62509..fef9d4f6 100644 --- a/src/main/java/org/betterx/betterend/world/features/EndLotusFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/EndLotusFeature.java @@ -1,12 +1,12 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.blocks.EndLotusSeedBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; -import org.betterx.betterend.blocks.EndLotusSeedBlock; -import org.betterx.betterend.registry.EndBlocks; - public class EndLotusFeature extends UnderwaterPlantScatter { public EndLotusFeature(int radius) { super(radius); diff --git a/src/main/java/org/betterx/betterend/world/features/EndLotusLeafFeature.java b/src/main/java/org/betterx/betterend/world/features/EndLotusLeafFeature.java index 4e98e0cf..0af2ba97 100644 --- a/src/main/java/org/betterx/betterend/world/features/EndLotusLeafFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/EndLotusLeafFeature.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.EndLotusLeafBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -8,11 +13,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.EndLotusLeafBlock; -import org.betterx.betterend.registry.EndBlocks; - public class EndLotusLeafFeature extends ScatterFeature { public EndLotusLeafFeature(int radius) { super(radius); @@ -45,7 +45,7 @@ public class EndLotusLeafFeature extends ScatterFeature { p.set(pos).move(move), leaf.setValue(EndLotusLeafBlock.HORIZONTAL_FACING, move) .setValue(EndLotusLeafBlock.SHAPE, TripleShape.MIDDLE) - ); + ); } for (int i = 0; i < 4; i++) { Direction d1 = BlocksHelper.HORIZONTAL[i]; @@ -55,7 +55,7 @@ public class EndLotusLeafFeature extends ScatterFeature { p.set(pos).move(d1).move(d2), leaf.setValue(EndLotusLeafBlock.HORIZONTAL_FACING, d1) .setValue(EndLotusLeafBlock.SHAPE, TripleShape.TOP) - ); + ); } } @@ -74,11 +74,13 @@ public class EndLotusLeafFeature extends ScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { return world.isEmptyBlock(blockPos) && world.getBlockState(blockPos.below()).is(Blocks.WATER); } } diff --git a/src/main/java/org/betterx/betterend/world/features/FilaluxFeature.java b/src/main/java/org/betterx/betterend/world/features/FilaluxFeature.java index 088fac9a..2203bcae 100644 --- a/src/main/java/org/betterx/betterend/world/features/FilaluxFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/FilaluxFeature.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -7,12 +13,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; - public class FilaluxFeature extends SkyScatterFeature { public FilaluxFeature() { super(10); @@ -27,13 +27,13 @@ public class FilaluxFeature extends SkyScatterFeature { world, blockPos.above(), wings.setValue(BlockStateProperties.FACING, Direction.UP) - ); + ); for (Direction dir : BlocksHelper.HORIZONTAL) { BlocksHelper.setWithoutUpdate( world, blockPos.relative(dir), wings.setValue(BlockStateProperties.FACING, dir) - ); + ); } int length = MHelper.randRange(1, 3, random); for (int i = 1; i <= length; i++) { diff --git a/src/main/java/org/betterx/betterend/world/features/FullHeightScatterFeature.java b/src/main/java/org/betterx/betterend/world/features/FullHeightScatterFeature.java index 4820c626..d67c315f 100644 --- a/src/main/java/org/betterx/betterend/world/features/FullHeightScatterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/FullHeightScatterFeature.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -8,11 +13,6 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.util.GlobalState; - public abstract class FullHeightScatterFeature extends DefaultFeature { private final int radius; @@ -20,11 +20,13 @@ public abstract class FullHeightScatterFeature extends DefaultFeature { this.radius = radius; } - public abstract boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius); + public abstract boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ); public abstract void generate(WorldGenLevel world, RandomSource random, BlockPos blockPos); diff --git a/src/main/java/org/betterx/betterend/world/features/GlowPillarFeature.java b/src/main/java/org/betterx/betterend/world/features/GlowPillarFeature.java index 99b7bf54..500dd6ae 100644 --- a/src/main/java/org/betterx/betterend/world/features/GlowPillarFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/GlowPillarFeature.java @@ -1,23 +1,25 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; -import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; -import org.betterx.betterend.registry.EndBlocks; - public class GlowPillarFeature extends ScatterFeature { public GlowPillarFeature() { super(9); } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { return EndBlocks.GLOWING_PILLAR_SEED.canSurvive(AIR, world, blockPos); } diff --git a/src/main/java/org/betterx/betterend/world/features/HydraluxFeature.java b/src/main/java/org/betterx/betterend/world/features/HydraluxFeature.java index 0b6a7be5..a82bb2cc 100644 --- a/src/main/java/org/betterx/betterend/world/features/HydraluxFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/HydraluxFeature.java @@ -1,12 +1,12 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.blocks.HydraluxSaplingBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; -import org.betterx.betterend.blocks.HydraluxSaplingBlock; -import org.betterx.betterend.registry.EndBlocks; - public class HydraluxFeature extends UnderwaterPlantScatter { public HydraluxFeature(int radius) { super(radius); diff --git a/src/main/java/org/betterx/betterend/world/features/InvertedScatterFeature.java b/src/main/java/org/betterx/betterend/world/features/InvertedScatterFeature.java index 6bbdf96d..5e3f946a 100644 --- a/src/main/java/org/betterx/betterend/world/features/InvertedScatterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/InvertedScatterFeature.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -8,11 +13,6 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.util.GlobalState; - public abstract class InvertedScatterFeature extends DefaultFeature { private final int radius; @@ -20,11 +20,13 @@ public abstract class InvertedScatterFeature extends DefaultFeature { this.radius = radius; } - public abstract boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius); + public abstract boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ); public abstract void generate(WorldGenLevel world, RandomSource random, BlockPos blockPos); diff --git a/src/main/java/org/betterx/betterend/world/features/LanceleafFeature.java b/src/main/java/org/betterx/betterend/world/features/LanceleafFeature.java index 8de229be..08c24c41 100644 --- a/src/main/java/org/betterx/betterend/world/features/LanceleafFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/LanceleafFeature.java @@ -1,23 +1,25 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; -import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; -import org.betterx.betterend.registry.EndBlocks; - public class LanceleafFeature extends ScatterFeature { public LanceleafFeature() { super(7); } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { return EndBlocks.LANCELEAF_SEED.canSurvive(AIR, world, blockPos); } diff --git a/src/main/java/org/betterx/betterend/world/features/ListFeature.java b/src/main/java/org/betterx/betterend/world/features/ListFeature.java index f0ef990f..21b3abb3 100644 --- a/src/main/java/org/betterx/betterend/world/features/ListFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/ListFeature.java @@ -1,6 +1,8 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.util.StructureHelper; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -10,8 +12,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import org.betterx.bclib.util.StructureHelper; - import java.util.List; public class ListFeature extends NBTFeature { diff --git a/src/main/java/org/betterx/betterend/world/features/MengerSpongeFeature.java b/src/main/java/org/betterx/betterend/world/features/MengerSpongeFeature.java index 39b84c9e..1b8cd0b2 100644 --- a/src/main/java/org/betterx/betterend/world/features/MengerSpongeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/MengerSpongeFeature.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; - import java.util.function.Function; public class MengerSpongeFeature extends UnderwaterPlantScatter { diff --git a/src/main/java/org/betterx/betterend/world/features/NBTFeature.java b/src/main/java/org/betterx/betterend/world/features/NBTFeature.java index 7d6d0656..93a9b034 100644 --- a/src/main/java/org/betterx/betterend/world/features/NBTFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/NBTFeature.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.levelgen.structures.templatesystem.DestructionStructureProcessor; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -21,12 +27,6 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.levelgen.structures.templatesystem.DestructionStructureProcessor; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; - import java.io.IOException; import java.io.InputStream; @@ -48,10 +48,12 @@ public abstract class NBTFeature extends DefaultFeature { protected abstract Mirror getMirror(WorldGenLevel world, BlockPos pos, RandomSource random); - protected abstract int getYOffset(StructureTemplate structure, - WorldGenLevel world, - BlockPos pos, - RandomSource random); + protected abstract int getYOffset( + StructureTemplate structure, + WorldGenLevel world, + BlockPos pos, + RandomSource random + ); protected abstract TerrainMerge getTerrainMerge(WorldGenLevel world, BlockPos pos, RandomSource random); diff --git a/src/main/java/org/betterx/betterend/world/features/NeonCactusFeature.java b/src/main/java/org/betterx/betterend/world/features/NeonCactusFeature.java index 5ad9e6c5..8bd90cb3 100644 --- a/src/main/java/org/betterx/betterend/world/features/NeonCactusFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/NeonCactusFeature.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.betterend.blocks.NeonCactusPlantBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -7,10 +11,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.betterend.blocks.NeonCactusPlantBlock; -import org.betterx.betterend.registry.EndBlocks; - public class NeonCactusFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/ScatterFeature.java b/src/main/java/org/betterx/betterend/world/features/ScatterFeature.java index ef0bbd4e..cff68c53 100644 --- a/src/main/java/org/betterx/betterend/world/features/ScatterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/ScatterFeature.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -7,12 +13,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.util.GlobalState; - public abstract class ScatterFeature extends DefaultFeature { private final int radius; @@ -20,11 +20,13 @@ public abstract class ScatterFeature extends DefaultFeature { this.radius = radius; } - public abstract boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius); + public abstract boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ); public abstract void generate(WorldGenLevel world, RandomSource random, BlockPos blockPos); diff --git a/src/main/java/org/betterx/betterend/world/features/SilkMothNestFeature.java b/src/main/java/org/betterx/betterend/world/features/SilkMothNestFeature.java index 70e93590..492ba320 100644 --- a/src/main/java/org/betterx/betterend/world/features/SilkMothNestFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/SilkMothNestFeature.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -12,12 +18,6 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.util.GlobalState; - public class SilkMothNestFeature extends DefaultFeature { private boolean canGenerate(WorldGenLevel world, BlockPos pos) { BlockState state = world.getBlockState(pos.above()); diff --git a/src/main/java/org/betterx/betterend/world/features/SingleInvertedScatterFeature.java b/src/main/java/org/betterx/betterend/world/features/SingleInvertedScatterFeature.java index 7ca36bf8..ef412ece 100644 --- a/src/main/java/org/betterx/betterend/world/features/SingleInvertedScatterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/SingleInvertedScatterFeature.java @@ -1,5 +1,8 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -8,9 +11,6 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.util.BlocksHelper; - public class SingleInvertedScatterFeature extends InvertedScatterFeature { private final Block block; @@ -20,11 +20,13 @@ public class SingleInvertedScatterFeature extends InvertedScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { if (!world.isEmptyBlock(blockPos)) { return false; } diff --git a/src/main/java/org/betterx/betterend/world/features/SinglePlantFeature.java b/src/main/java/org/betterx/betterend/world/features/SinglePlantFeature.java index 0a99af26..00e06eb8 100644 --- a/src/main/java/org/betterx/betterend/world/features/SinglePlantFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/SinglePlantFeature.java @@ -1,16 +1,16 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BaseCropBlock; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BaseCropBlock; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.blocks.basis.EndPlantWithAgeBlock; - public class SinglePlantFeature extends ScatterFeature { private final Block plant; private final boolean rawHeightmap; @@ -45,11 +45,13 @@ public class SinglePlantFeature extends ScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { return plant.canSurvive(plant.defaultBlockState(), world, blockPos); } diff --git a/src/main/java/org/betterx/betterend/world/features/SkyScatterFeature.java b/src/main/java/org/betterx/betterend/world/features/SkyScatterFeature.java index ae04d069..9a2f9224 100644 --- a/src/main/java/org/betterx/betterend/world/features/SkyScatterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/SkyScatterFeature.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; - public abstract class SkyScatterFeature extends ScatterFeature { public SkyScatterFeature(int radius) { super(radius); @@ -20,11 +20,13 @@ public abstract class SkyScatterFeature extends ScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { if (!world.isEmptyBlock(blockPos)) { return false; } diff --git a/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantFeature.java b/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantFeature.java index a14a0248..945fee3c 100644 --- a/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantFeature.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BaseDoublePlantBlock; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BaseDoublePlantBlock; -import org.betterx.bclib.util.BlocksHelper; - public class UnderwaterPlantFeature extends UnderwaterPlantScatter { private final Block plant; @@ -18,11 +18,13 @@ public class UnderwaterPlantFeature extends UnderwaterPlantScatter { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { return super.canSpawn(world, blockPos) && plant.canSurvive(plant.defaultBlockState(), world, blockPos); } diff --git a/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantScatter.java b/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantScatter.java index 4d312fa7..a98bfcd2 100644 --- a/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantScatter.java +++ b/src/main/java/org/betterx/betterend/world/features/UnderwaterPlantScatter.java @@ -1,13 +1,13 @@ package org.betterx.betterend.world.features; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; -import org.betterx.betterend.util.GlobalState; - public abstract class UnderwaterPlantScatter extends ScatterFeature { public UnderwaterPlantScatter(int radius) { super(radius); @@ -23,11 +23,13 @@ public abstract class UnderwaterPlantScatter extends ScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { return world.getBlockState(blockPos).is(Blocks.WATER); } diff --git a/src/main/java/org/betterx/betterend/world/features/VineFeature.java b/src/main/java/org/betterx/betterend/world/features/VineFeature.java index e726c240..bb7cb01e 100644 --- a/src/main/java/org/betterx/betterend/world/features/VineFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/VineFeature.java @@ -1,16 +1,16 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BaseVineBlock; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import org.betterx.bclib.blocks.BaseVineBlock; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.util.BlocksHelper; - public class VineFeature extends InvertedScatterFeature { private final Block vineBlock; private final int maxLength; @@ -24,11 +24,13 @@ public class VineFeature extends InvertedScatterFeature { } @Override - public boolean canGenerate(WorldGenLevel world, - RandomSource random, - BlockPos center, - BlockPos blockPos, - float radius) { + public boolean canGenerate( + WorldGenLevel world, + RandomSource random, + BlockPos center, + BlockPos blockPos, + float radius + ) { BlockState state = world.getBlockState(blockPos); return state.getMaterial().isReplaceable() && canPlaceBlock(state, world, blockPos); } diff --git a/src/main/java/org/betterx/betterend/world/features/WallPlantFeature.java b/src/main/java/org/betterx/betterend/world/features/WallPlantFeature.java index 167d5142..8e17f5a3 100644 --- a/src/main/java/org/betterx/betterend/world/features/WallPlantFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/WallPlantFeature.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.blocks.BaseWallPlantBlock; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -8,10 +12,6 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.blocks.BaseWallPlantBlock; -import org.betterx.bclib.util.BlocksHelper; - public class WallPlantFeature extends WallScatterFeature { private final Block block; diff --git a/src/main/java/org/betterx/betterend/world/features/WallScatterFeature.java b/src/main/java/org/betterx/betterend/world/features/WallScatterFeature.java index e77a6e95..d6a770f0 100644 --- a/src/main/java/org/betterx/betterend/world/features/WallScatterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/WallScatterFeature.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.features; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -9,10 +13,6 @@ import net.minecraft.world.level.levelgen.Heightmap; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; - public abstract class WallScatterFeature extends DefaultFeature { private static final Direction[] DIR = BlocksHelper.makeHorizontal(); private final int radius; diff --git a/src/main/java/org/betterx/betterend/world/features/bushes/BushFeature.java b/src/main/java/org/betterx/betterend/world/features/bushes/BushFeature.java index fa4ff271..30bfc175 100644 --- a/src/main/java/org/betterx/betterend/world/features/bushes/BushFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/bushes/BushFeature.java @@ -1,16 +1,5 @@ package org.betterx.betterend.world.features.bushes; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.LeavesBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -23,6 +12,17 @@ import org.betterx.bclib.util.BlocksHelper; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + import java.util.function.Function; public class BushFeature extends DefaultFeature { diff --git a/src/main/java/org/betterx/betterend/world/features/bushes/BushWithOuterFeature.java b/src/main/java/org/betterx/betterend/world/features/bushes/BushWithOuterFeature.java index 1e61a524..a2ac4329 100644 --- a/src/main/java/org/betterx/betterend/world/features/bushes/BushWithOuterFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/bushes/BushWithOuterFeature.java @@ -1,17 +1,5 @@ package org.betterx.betterend.world.features.bushes; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.LeavesBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -24,6 +12,18 @@ import org.betterx.bclib.util.BlocksHelper; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + import java.util.function.Function; public class BushWithOuterFeature extends DefaultFeature { diff --git a/src/main/java/org/betterx/betterend/world/features/bushes/LargeAmaranitaFeature.java b/src/main/java/org/betterx/betterend/world/features/bushes/LargeAmaranitaFeature.java index b71a1157..744c92b4 100644 --- a/src/main/java/org/betterx/betterend/world/features/bushes/LargeAmaranitaFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/bushes/LargeAmaranitaFeature.java @@ -1,5 +1,13 @@ package org.betterx.betterend.world.features.bushes; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -9,14 +17,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; - public class LargeAmaranitaFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/bushes/Lumecorn.java b/src/main/java/org/betterx/betterend/world/features/bushes/Lumecorn.java index 943321f1..80fc434f 100644 --- a/src/main/java/org/betterx/betterend/world/features/bushes/Lumecorn.java +++ b/src/main/java/org/betterx/betterend/world/features/bushes/Lumecorn.java @@ -1,5 +1,13 @@ package org.betterx.betterend.world.features.bushes; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.EndBlockProperties.LumecornShape; +import org.betterx.betterend.blocks.LumecornBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -9,14 +17,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.EndBlockProperties.LumecornShape; -import org.betterx.betterend.blocks.LumecornBlock; -import org.betterx.betterend.registry.EndBlocks; - public class Lumecorn extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/bushes/TenaneaBushFeature.java b/src/main/java/org/betterx/betterend/world/features/bushes/TenaneaBushFeature.java index 9c49b0bf..f6f09951 100644 --- a/src/main/java/org/betterx/betterend/world/features/bushes/TenaneaBushFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/bushes/TenaneaBushFeature.java @@ -1,17 +1,5 @@ package org.betterx.betterend.world.features.bushes; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.LeavesBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.google.common.collect.Lists; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BlockProperties; @@ -28,6 +16,19 @@ import org.betterx.betterend.blocks.basis.FurBlock; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + +import com.google.common.collect.Lists; + import java.util.List; import java.util.function.Function; diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/ArchFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/ArchFeature.java index f3b002a8..ee3aba6f 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/ArchFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/ArchFeature.java @@ -1,5 +1,14 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.SDFDisplacement; +import org.betterx.bclib.sdf.operator.SDFRotation; +import org.betterx.bclib.sdf.primitive.SDFTorus; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -11,14 +20,6 @@ import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; import com.google.common.collect.Lists; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.SDFDisplacement; -import org.betterx.bclib.sdf.operator.SDFRotation; -import org.betterx.bclib.sdf.primitive.SDFTorus; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; import java.util.List; import java.util.function.Function; @@ -57,7 +58,8 @@ public class ArchFeature extends DefaultFeature { final float smallRadiusF = smallRadius; OpenSimplexNoise noise = new OpenSimplexNoise(random.nextLong()); arch = new SDFDisplacement().setFunction((vec) -> { - return (float) (Math.abs(noise.eval(vec.x() * 0.1, + return (float) (Math.abs(noise.eval( + vec.x() * 0.1, vec.y() * 0.1, vec.z() * 0.1 )) * 3F + Math.abs(noise.eval( diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/BigAuroraCrystalFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/BigAuroraCrystalFeature.java index e6712ccc..343ddefa 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/BigAuroraCrystalFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/BigAuroraCrystalFeature.java @@ -1,13 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -17,6 +9,14 @@ import org.betterx.bclib.util.BlocksHelper; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + public class BigAuroraCrystalFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/DesertLakeFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/DesertLakeFeature.java index 96e00c13..a3048bc4 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/DesertLakeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/DesertLakeFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.util.BlockFixer; +import org.betterx.betterend.util.GlobalState; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -11,16 +21,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Material; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.util.BlockFixer; -import org.betterx.betterend.util.GlobalState; -import org.betterx.betterend.world.biome.EndBiome; - public class DesertLakeFeature extends DefaultFeature { private static final BlockState END_STONE = Blocks.END_STONE.defaultBlockState(); private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(15152); @@ -126,8 +126,10 @@ public class DesertLakeFeature extends DefaultFeature { } pos = POS.below(); if (world.getBlockState(pos).is(CommonBlockTags.GEN_END_STONES)) { - state = EndBiome.findTopMaterial(world, - pos); //world.getBiome(pos).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); + state = EndBiome.findTopMaterial( + world, + pos + ); //world.getBiome(pos).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); if (y > waterLevel + 1) BlocksHelper.setWithoutUpdate(world, pos, state); else if (y > waterLevel) BlocksHelper.setWithoutUpdate( @@ -200,8 +202,10 @@ public class DesertLakeFeature extends DefaultFeature { BlocksHelper.setWithoutUpdate(world, POS, EndBlocks.END_MOSS); } else if (y < waterLevel) { if (world.isEmptyBlock(POS.above())) { - state = EndBiome.findTopMaterial(world, - pos); //world.getBiome(POS).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); + state = EndBiome.findTopMaterial( + world, + pos + ); //world.getBiome(POS).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); BlocksHelper.setWithoutUpdate( world, POS, diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/EndLakeFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/EndLakeFeature.java index 99210b4c..bb0d67a7 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/EndLakeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/EndLakeFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.util.BlockFixer; +import org.betterx.betterend.util.GlobalState; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -11,16 +21,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Material; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.util.BlockFixer; -import org.betterx.betterend.util.GlobalState; -import org.betterx.betterend.world.biome.EndBiome; - public class EndLakeFeature extends DefaultFeature { private static final BlockState END_STONE = Blocks.END_STONE.defaultBlockState(); private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(15152); diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/FallenPillarFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/FallenPillarFeature.java index 491eda0c..4fec4aff 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/FallenPillarFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/FallenPillarFeature.java @@ -1,15 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -21,6 +11,16 @@ import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + public class FallenPillarFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/FloatingSpireFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/FloatingSpireFeature.java index 2980a78c..9a074b94 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/FloatingSpireFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/FloatingSpireFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.SDFDisplacement; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.registry.EndFeatures; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -10,15 +20,6 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import com.google.common.collect.Lists; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.SDFDisplacement; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.registry.EndFeatures; -import org.betterx.betterend.world.biome.EndBiome; import java.util.List; import java.util.Optional; @@ -35,7 +36,7 @@ public class FloatingSpireFeature extends SpireFeature { 64, 192, random - ); + ); pos = new BlockPos(pos.getX(), y, pos.getZ()); SDF sdf = new SDFSphere().setRadius(MHelper.randRange(2, 3, random)).setBlock(Blocks.END_STONE); @@ -56,9 +57,11 @@ public class FloatingSpireFeature extends SpireFeature { vec.x() * 0.1, vec.y() * 0.1, vec.z() * 0.1 - )) * 3F + Math.abs(noise.eval(vec.x() * 0.3, - vec.y() * 0.3 + 100, - vec.z() * 0.3)) * 1.3F); + )) * 3F + Math.abs(noise.eval( + vec.x() * 0.3, + vec.y() * 0.3 + 100, + vec.z() * 0.3 + )) * 1.3F); }).setSource(sdf); final BlockPos center = pos; List support = Lists.newArrayList(); @@ -67,8 +70,10 @@ public class FloatingSpireFeature extends SpireFeature { if (random.nextInt(16) == 0) { support.add(info.getPos().above()); } - return EndBiome.findTopMaterial(world, - info.getPos());//world.getBiome(info.getPos()).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); + return EndBiome.findTopMaterial( + world, + info.getPos() + );//world.getBiome(info.getPos()).getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); } else if (info.getState(Direction.UP, 3).isAir()) { return EndBiome.findUnderMaterial(world, info.getPos()); // return world.getBiome(info.getPos()) @@ -83,12 +88,14 @@ public class FloatingSpireFeature extends SpireFeature { support.forEach((bpos) -> { if (BiomeAPI.getFromBiome(world.getBiome(bpos)) == EndBiomes.BLOSSOMING_SPIRES) { EndFeatures.TENANEA_BUSH.getFeature() - .place(new FeaturePlaceContext<>(Optional.empty(), - world, - chunkGenerator, - random, - bpos, - null)); + .place(new FeaturePlaceContext<>( + Optional.empty(), + world, + chunkGenerator, + random, + bpos, + null + )); } }); diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/GeyserFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/GeyserFeature.java index ad79011e..c53b619b 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/GeyserFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/GeyserFeature.java @@ -1,20 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.Mth; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.HorizontalDirectionalBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.chunk.ChunkGenerator; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -31,6 +16,21 @@ import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndFeatures; import org.betterx.betterend.util.BlockFixer; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.Mth; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.HorizontalDirectionalBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.chunk.ChunkGenerator; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + import java.util.Optional; import java.util.function.Function; @@ -176,7 +176,8 @@ public class GeyserFeature extends DefaultFeature { for (int i = 0; i < 150; i++) { mut.set(pos) - .move(MHelper.floor(random.nextGaussian() * 4 + 0.5), + .move( + MHelper.floor(random.nextGaussian() * 4 + 0.5), -halfHeight - 10, MHelper.floor(random.nextGaussian() * 4 + 0.5) ); @@ -222,7 +223,8 @@ public class GeyserFeature extends DefaultFeature { for (int i = 0; i < 10; i++) { mut.set(pos) - .move(MHelper.floor(random.nextGaussian() * 0.7 + 0.5), + .move( + MHelper.floor(random.nextGaussian() * 0.7 + 0.5), -halfHeight - 10, MHelper.floor(random.nextGaussian() * 0.7 + 0.5) ); @@ -254,12 +256,14 @@ public class GeyserFeature extends DefaultFeature { } EndFeatures.SULPHURIC_LAKE.getFeature() - .place(new FeaturePlaceContext<>(Optional.empty(), + .place(new FeaturePlaceContext<>( + Optional.empty(), world, chunkGenerator, random, pos, - null)); + null + )); double distance = radius1 * 1.7; BlockPos start = pos.offset(-distance, -halfHeight - 15 - distance, -distance); diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/IceStarFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/IceStarFeature.java index 9738fda3..00c9d823 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/IceStarFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/IceStarFeature.java @@ -1,13 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.SDFRotation; @@ -17,6 +9,14 @@ import org.betterx.bclib.sdf.primitive.SDFCappedCone; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianBoulderFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianBoulderFeature.java index efbeefbb..cb230efc 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianBoulderFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianBoulderFeature.java @@ -1,14 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -19,6 +10,15 @@ import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + public class ObsidianBoulderFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianPillarBasementFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianPillarBasementFeature.java index 2218d88a..ac5dc090 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianPillarBasementFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/ObsidianPillarBasementFeature.java @@ -1,15 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -23,6 +13,16 @@ import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + public class ObsidianPillarBasementFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/OreLayerFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/OreLayerFeature.java index eecf6f22..2cfa790c 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/OreLayerFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/OreLayerFeature.java @@ -1,13 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.SDFCoordModify; @@ -16,6 +8,14 @@ import org.betterx.bclib.sdf.primitive.SDFSphere; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + public class OreLayerFeature extends DefaultFeature { private static final SDFSphere SPHERE; private static final SDFCoordModify NOISE; diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SingleBlockFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SingleBlockFeature.java index 9a1ec1e3..58cae64b 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SingleBlockFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SingleBlockFeature.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.WorldGenLevel; @@ -9,10 +13,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; - public class SingleBlockFeature extends DefaultFeature { private final Block block; diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SmaragdantCrystalFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SmaragdantCrystalFeature.java index aaa8a531..02a4b139 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SmaragdantCrystalFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SmaragdantCrystalFeature.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -9,12 +15,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; - public class SmaragdantCrystalFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SpireFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SpireFeature.java index a5d31579..f6f5c690 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SpireFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SpireFeature.java @@ -1,5 +1,19 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.SDFDisplacement; +import org.betterx.bclib.sdf.operator.SDFSmoothUnion; +import org.betterx.bclib.sdf.operator.SDFTranslate; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.registry.EndFeatures; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; @@ -13,19 +27,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.collect.Lists; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.SDFDisplacement; -import org.betterx.bclib.sdf.operator.SDFSmoothUnion; -import org.betterx.bclib.sdf.operator.SDFTranslate; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.registry.EndFeatures; -import org.betterx.betterend.world.biome.EndBiome; import java.util.List; import java.util.Optional; @@ -59,9 +60,11 @@ public class SpireFeature extends DefaultFeature { vec.x() * 0.1, vec.y() * 0.1, vec.z() * 0.1 - )) * 3F + Math.abs(noise.eval(vec.x() * 0.3, + )) * 3F + Math.abs(noise.eval( + vec.x() * 0.3, vec.y() * 0.3 + 100, - vec.z() * 0.3)) * 1.3F); + vec.z() * 0.3 + )) * 1.3F); }).setSource(sdf); final BlockPos center = pos; List support = Lists.newArrayList(); @@ -85,12 +88,14 @@ public class SpireFeature extends DefaultFeature { support.forEach((bpos) -> { if (BiomeAPI.getFromBiome(world.getBiome(bpos)) == EndBiomes.BLOSSOMING_SPIRES) { EndFeatures.TENANEA_BUSH.getFeature() - .place(new FeaturePlaceContext<>(Optional.empty(), + .place(new FeaturePlaceContext<>( + Optional.empty(), world, chunkGenerator, random, bpos, - null)); + null + )); } }); diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/StalactiteFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/StalactiteFeature.java index 65421b04..3780ce9b 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/StalactiteFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/StalactiteFeature.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.blocks.StalactiteBlock; +import org.betterx.bclib.util.BlocksHelper; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.Mth; @@ -11,11 +16,6 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.blocks.StalactiteBlock; -import org.betterx.bclib.util.BlocksHelper; - public class StalactiteFeature extends DefaultFeature { private final boolean ceiling; private final Block[] ground; diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SulphurHillFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SulphurHillFeature.java index e1d3ebfc..25ea87d0 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SulphurHillFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SulphurHillFeature.java @@ -1,5 +1,12 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -10,13 +17,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; - public class SulphurHillFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricCaveFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricCaveFeature.java index 3e2f19ea..37ee9741 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricCaveFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricCaveFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.EndBlockProperties; +import org.betterx.betterend.blocks.SulphurCrystalBlock; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.util.BlockFixer; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -14,15 +24,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.EndBlockProperties; -import org.betterx.betterend.blocks.SulphurCrystalBlock; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.util.BlockFixer; import java.util.Set; @@ -129,7 +130,8 @@ public class SulphuricCaveFeature extends DefaultFeature { int count = MHelper.randRange(5, 20, random); for (int i = 0; i < count; i++) { mut.set(pos) - .move(MHelper.floor(random.nextGaussian() * 2 + 0.5), + .move( + MHelper.floor(random.nextGaussian() * 2 + 0.5), 0, MHelper.floor(random.nextGaussian() * 2 + 0.5) ); @@ -166,9 +168,11 @@ public class SulphuricCaveFeature extends DefaultFeature { state = world.getBlockState(mut); while (state.is(Blocks.WATER)) { BlocksHelper.setWithoutUpdate(world, mut, EndBlocks.VENT_BUBBLE_COLUMN.defaultBlockState()); - world.scheduleTick(mut.immutable(), + world.scheduleTick( + mut.immutable(), EndBlocks.VENT_BUBBLE_COLUMN, - MHelper.randRange(8, 32, random)); + MHelper.randRange(8, 32, random) + ); mut.setY(mut.getY() + 1); state = world.getBlockState(mut); } diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricLakeFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricLakeFeature.java index 6f00a64a..d317ea97 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricLakeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SulphuricLakeFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.EndBlockProperties; +import org.betterx.betterend.blocks.SulphurCrystalBlock; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -12,15 +22,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Fluids; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.EndBlockProperties; -import org.betterx.betterend.blocks.SulphurCrystalBlock; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.util.GlobalState; import java.util.Set; @@ -172,7 +173,8 @@ public class SulphuricLakeFeature extends DefaultFeature { ) < y || getYOnSurface( world, pos.getX() + dir.getStepX() * 3, - pos.getZ() + dir.getStepZ() * 3) < y) { + pos.getZ() + dir.getStepZ() * 3 + ) < y) { return false; } } diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/SurfaceVentFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/SurfaceVentFeature.java index c09c8062..acff0323 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/SurfaceVentFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/SurfaceVentFeature.java @@ -1,5 +1,12 @@ package org.betterx.betterend.world.features.terrain; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.blocks.HydrothermalVentBlock; +import org.betterx.betterend.registry.EndBlocks; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -8,13 +15,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.blocks.HydrothermalVentBlock; -import org.betterx.betterend.registry.EndBlocks; - public class SurfaceVentFeature extends DefaultFeature { @Override public boolean place(FeaturePlaceContext featureConfig) { diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/ThinArchFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/ThinArchFeature.java index aa68d3b1..df45c6a5 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/ThinArchFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/ThinArchFeature.java @@ -1,16 +1,5 @@ package org.betterx.betterend.world.features.terrain; -import net.minecraft.core.BlockPos; -import net.minecraft.util.Mth; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.phys.AABB; -import net.minecraft.world.phys.Vec3; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.SDF; @@ -22,6 +11,17 @@ import org.betterx.bclib.sdf.primitive.SDFTorus; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.Mth; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; + public class ThinArchFeature extends DefaultFeature { private final Block block; @@ -35,10 +35,14 @@ public class ThinArchFeature extends DefaultFeature { BlockPos origin = featurePlaceContext.origin(); RandomSource random = featurePlaceContext.random(); - BlockPos pos = getPosOnSurfaceWG(world, - new BlockPos((origin.getX() & 0xFFFFFFF0) | 7, + BlockPos pos = getPosOnSurfaceWG( + world, + new BlockPos( + (origin.getX() & 0xFFFFFFF0) | 7, 0, - (origin.getZ() & 0xFFFFFFF0) | 7)); + (origin.getZ() & 0xFFFFFFF0) | 7 + ) + ); if (!world.getBlockState(pos.below(5)).is(CommonBlockTags.GEN_END_STONES)) { return false; } diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java index d6c6d7e4..3c7efbb2 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/caves/CaveChunkPopulatorFeature.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.features.terrain.caves; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.util.BlockFixer; +import org.betterx.betterend.world.biome.cave.EndCaveBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -12,11 +18,6 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.util.BlockFixer; -import org.betterx.betterend.world.biome.cave.EndCaveBiome; import java.util.Optional; import java.util.Set; @@ -49,13 +50,15 @@ public class CaveChunkPopulatorFeature extends DefaultFeature { return true; } - protected void fillSets(int sx, - int sz, - ChunkAccess chunk, - Set floorPositions, - Set ceilPositions, - MutableBlockPos min, - MutableBlockPos max) { + protected void fillSets( + int sx, + int sz, + ChunkAccess chunk, + Set floorPositions, + Set ceilPositions, + MutableBlockPos min, + MutableBlockPos max + ) { MutableBlockPos mut = new MutableBlockPos(); MutableBlockPos mut2 = new MutableBlockPos(); MutableBlockPos mut3 = new MutableBlockPos(); @@ -111,11 +114,13 @@ public class CaveChunkPopulatorFeature extends DefaultFeature { } } - protected void placeFloor(WorldGenLevel world, - EndCaveBiome biome, - Set floorPositions, - RandomSource random, - BlockState surfaceBlock) { + protected void placeFloor( + WorldGenLevel world, + EndCaveBiome biome, + Set floorPositions, + RandomSource random, + BlockState surfaceBlock + ) { float density = biome.getFloorDensity(); floorPositions.forEach((pos) -> { BlocksHelper.setWithoutUpdate(world, pos, surfaceBlock); @@ -128,10 +133,12 @@ public class CaveChunkPopulatorFeature extends DefaultFeature { }); } - protected void placeCeil(WorldGenLevel world, - EndCaveBiome biome, - Set ceilPositions, - RandomSource random) { + protected void placeCeil( + WorldGenLevel world, + EndCaveBiome biome, + Set ceilPositions, + RandomSource random + ) { float density = biome.getCeilDensity(); ceilPositions.forEach((pos) -> { BlockState ceilBlock = biome.getCeil(pos); diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/caves/EndCaveFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/caves/EndCaveFeature.java index e6fa78f9..62ef09a5 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/caves/EndCaveFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/caves/EndCaveFeature.java @@ -1,5 +1,17 @@ package org.betterx.betterend.world.features.terrain.caves; +import org.betterx.bclib.api.v2.generator.BiomePicker; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.util.BlockFixer; +import org.betterx.betterend.world.biome.EndBiome; +import org.betterx.betterend.world.biome.cave.EndCaveBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -17,17 +29,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.generator.BiomePicker; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.util.BlockFixer; -import org.betterx.betterend.world.biome.EndBiome; -import org.betterx.betterend.world.biome.cave.EndCaveBiome; import java.util.List; import java.util.Optional; @@ -92,11 +93,13 @@ public abstract class EndCaveFeature extends DefaultFeature { protected abstract Set generate(WorldGenLevel world, BlockPos center, int radius, RandomSource random); - protected void placeFloor(WorldGenLevel world, - EndCaveBiome biome, - Set floorPositions, - RandomSource random, - BlockState surfaceBlock) { + protected void placeFloor( + WorldGenLevel world, + EndCaveBiome biome, + Set floorPositions, + RandomSource random, + BlockState surfaceBlock + ) { float density = biome.getFloorDensity(); floorPositions.forEach((pos) -> { if (!surfaceBlock.is(Blocks.END_STONE)) { @@ -111,10 +114,12 @@ public abstract class EndCaveFeature extends DefaultFeature { }); } - protected void placeCeil(WorldGenLevel world, - EndCaveBiome biome, - Set ceilPositions, - RandomSource random) { + protected void placeCeil( + WorldGenLevel world, + EndCaveBiome biome, + Set ceilPositions, + RandomSource random + ) { float density = biome.getCeilDensity(); ceilPositions.forEach((pos) -> { BlockState ceilBlock = biome.getCeil(pos); diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/caves/RoundCaveFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/caves/RoundCaveFeature.java index d6b05b53..8e13c4f7 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/caves/RoundCaveFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/caves/RoundCaveFeature.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.features.terrain.caves; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.RandomSource; @@ -8,10 +13,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Material; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; import java.util.Set; import java.util.stream.IntStream; diff --git a/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java b/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java index 96406faf..d6d6f35b 100644 --- a/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/terrain/caves/TunelCaveFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.terrain.caves; +import org.betterx.bclib.api.v2.generator.BiomePicker; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBiomes; +import org.betterx.betterend.world.biome.EndBiome; +import org.betterx.betterend.world.biome.cave.EndCaveBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -19,15 +29,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import com.google.common.collect.Maps; import com.google.common.collect.Sets; -import org.betterx.bclib.api.v2.generator.BiomePicker; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBiomes; -import org.betterx.betterend.world.biome.EndBiome; -import org.betterx.betterend.world.biome.cave.EndCaveBiome; import java.util.Map; import java.util.Optional; @@ -86,8 +87,10 @@ public class TunelCaveFeature extends EndCaveFeature { ) * 20) * 0.1F) * 0.9F; float dist = (float) noiseD.eval(pos.getX() * 0.1, y * 0.1, pos.getZ() * 0.1) * 0.12F; val = (val + vert * vert + dist) + density + gradient; - if (val < 0.15 && world.getBlockState(pos).is(CommonBlockTags.GEN_END_STONES) && noWaterNear(world, - pos)) { + if (val < 0.15 && world.getBlockState(pos).is(CommonBlockTags.GEN_END_STONES) && noWaterNear( + world, + pos + )) { positions.add(pos.immutable()); } } @@ -191,11 +194,13 @@ public class TunelCaveFeature extends EndCaveFeature { } @Override - protected void placeFloor(WorldGenLevel world, - EndCaveBiome biome, - Set floorPositions, - RandomSource random, - BlockState surfaceBlock) { + protected void placeFloor( + WorldGenLevel world, + EndCaveBiome biome, + Set floorPositions, + RandomSource random, + BlockState surfaceBlock + ) { float density = biome.getFloorDensity() * 0.2F; floorPositions.forEach((pos) -> { if (!surfaceBlock.is(Blocks.END_STONE)) { @@ -211,10 +216,12 @@ public class TunelCaveFeature extends EndCaveFeature { } @Override - protected void placeCeil(WorldGenLevel world, - EndCaveBiome biome, - Set ceilPositions, - RandomSource random) { + protected void placeCeil( + WorldGenLevel world, + EndCaveBiome biome, + Set ceilPositions, + RandomSource random + ) { float density = biome.getCeilDensity() * 0.2F; ceilPositions.forEach((pos) -> { BlockState ceilBlock = biome.getCeil(pos); @@ -234,12 +241,17 @@ public class TunelCaveFeature extends EndCaveFeature { return hasCavesInBiome(world, pos.offset(-8, 0, -8)) && hasCavesInBiome( world, pos.offset(8, 0, -8) - ) && hasCavesInBiome(world, - pos.offset(-8, - 0, - 8)) && hasCavesInBiome( + ) && hasCavesInBiome( world, - pos.offset(8, 0, 8)); + pos.offset( + -8, + 0, + 8 + ) + ) && hasCavesInBiome( + world, + pos.offset(8, 0, 8) + ); } protected boolean hasCavesInBiome(WorldGenLevel world, BlockPos pos) { diff --git a/src/main/java/org/betterx/betterend/world/features/trees/DragonTreeFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/DragonTreeFeature.java index f2875ace..353435e0 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/DragonTreeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/DragonTreeFeature.java @@ -1,5 +1,18 @@ package org.betterx.betterend.world.features.trees; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.PosInfo; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.*; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -13,18 +26,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.PosInfo; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.*; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; import java.util.function.Function; @@ -110,20 +111,24 @@ public class DragonTreeFeature extends DefaultFeature { SplineHelper.scale(branch, scale); Vector3f last = branch.get(branch.size() - 1); if (world.getBlockState(pos.offset(last.x(), last.y(), last.z())).is(CommonBlockTags.GEN_END_STONES)) { - SplineHelper.fillSpline(branch, + SplineHelper.fillSpline( + branch, world, EndBlocks.DRAGON_TREE.getBark().defaultBlockState(), pos, - REPLACE); + REPLACE + ); } } } - private void leavesBall(WorldGenLevel world, - BlockPos pos, - float radius, - RandomSource random, - OpenSimplexNoise noise) { + private void leavesBall( + WorldGenLevel world, + BlockPos pos, + float radius, + RandomSource random, + OpenSimplexNoise noise + ) { SDF sphere = new SDFSphere().setRadius(radius) .setBlock(EndBlocks.DRAGON_TREE_LEAVES.defaultBlockState() .setValue(LeavesBlock.DISTANCE, 6)); diff --git a/src/main/java/org/betterx/betterend/world/features/trees/GiganticAmaranitaFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/GiganticAmaranitaFeature.java index 870b9287..ed0831de 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/GiganticAmaranitaFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/GiganticAmaranitaFeature.java @@ -1,5 +1,15 @@ package org.betterx.betterend.world.features.trees; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.blocks.BaseAttachedBlock; +import org.betterx.bclib.sdf.PosInfo; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -14,16 +24,6 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.level.material.Material; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.blocks.BaseAttachedBlock; -import org.betterx.bclib.sdf.PosInfo; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.registry.EndBlocks; - import java.util.List; import java.util.function.Function; diff --git a/src/main/java/org/betterx/betterend/world/features/trees/HelixTreeFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/HelixTreeFeature.java index 98e5098e..1503ad0f 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/HelixTreeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/HelixTreeFeature.java @@ -1,5 +1,16 @@ package org.betterx.betterend.world.features.trees; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.sdf.PosInfo; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.*; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.blocks.HelixTreeLeavesBlock; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.tags.BlockTags; @@ -11,17 +22,6 @@ import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; import net.minecraft.world.phys.AABB; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.sdf.PosInfo; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.*; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.blocks.HelixTreeLeavesBlock; -import org.betterx.betterend.registry.EndBlocks; - import java.util.ArrayList; import java.util.List; import java.util.function.Function; @@ -70,21 +70,25 @@ public class HelixTreeFeature extends DefaultFeature { float dy2 = 100 * scale; sdf.addPostProcess(POST).fillArea(world, pos, new AABB(pos.offset(-dx, dy1, -dx), pos.offset(dx, dy2, dx))); SplineHelper.scale(spline, scale); - SplineHelper.fillSplineForce(spline, + SplineHelper.fillSplineForce( + spline, world, EndBlocks.HELIX_TREE.getBark().defaultBlockState(), pos, (state) -> { return state.getMaterial().isReplaceable(); - }); + } + ); SplineHelper.rotateSpline(spline, (float) Math.PI); - SplineHelper.fillSplineForce(spline, + SplineHelper.fillSplineForce( + spline, world, EndBlocks.HELIX_TREE.getBark().defaultBlockState(), pos, (state) -> { return state.getMaterial().isReplaceable(); - }); + } + ); SplineHelper.scale(spline2, scale); BlockPos leafStart = pos.offset(lastPoint.x() + 0.5, lastPoint.y() + 0.5, lastPoint.z() + 0.5); SplineHelper.fillSplineForce( @@ -159,12 +163,14 @@ public class HelixTreeFeature extends DefaultFeature { return true; } - private void fillLine(Vector3f start, - Vector3f end, - WorldGenLevel world, - BlockState state, - BlockPos pos, - int offset) { + private void fillLine( + Vector3f start, + Vector3f end, + WorldGenLevel world, + BlockState state, + BlockPos pos, + int offset + ) { float dx = end.x() - start.x(); float dy = end.y() - start.y(); float dz = end.z() - start.z(); diff --git a/src/main/java/org/betterx/betterend/world/features/trees/JellyshroomFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/JellyshroomFeature.java index f5e7754d..e7b48928 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/JellyshroomFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/JellyshroomFeature.java @@ -1,5 +1,16 @@ package org.betterx.betterend.world.features.trees; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.*; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.blocks.JellyshroomCapBlock; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.tags.BlockTags; import net.minecraft.util.Mth; @@ -11,16 +22,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.*; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.blocks.JellyshroomCapBlock; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; import java.util.function.Function; diff --git a/src/main/java/org/betterx/betterend/world/features/trees/LacugroveFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/LacugroveFeature.java index cec2d3b6..f01c8c4e 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/LacugroveFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/LacugroveFeature.java @@ -1,18 +1,5 @@ package org.betterx.betterend.world.features.trees; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.tags.BlockTags; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.LeavesBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.sdf.PosInfo; @@ -27,6 +14,19 @@ import org.betterx.bclib.util.SplineHelper; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.tags.BlockTags; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + import java.util.List; import java.util.function.Function; @@ -114,11 +114,13 @@ public class LacugroveFeature extends DefaultFeature { return true; } - private void leavesBall(WorldGenLevel world, - BlockPos pos, - float radius, - RandomSource random, - OpenSimplexNoise noise) { + private void leavesBall( + WorldGenLevel world, + BlockPos pos, + float radius, + RandomSource random, + OpenSimplexNoise noise + ) { SDF sphere = new SDFSphere().setRadius(radius) .setBlock(EndBlocks.LACUGROVE_LEAVES.defaultBlockState() .setValue(LeavesBlock.DISTANCE, 6)); diff --git a/src/main/java/org/betterx/betterend/world/features/trees/LucerniaFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/LucerniaFeature.java index c23d8420..626d0cd1 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/LucerniaFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/LucerniaFeature.java @@ -1,19 +1,5 @@ package org.betterx.betterend.world.features.trees; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.tags.BlockTags; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.LeavesBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.api.v2.tag.CommonBlockTags; import org.betterx.bclib.blocks.BlockProperties; @@ -28,6 +14,21 @@ import org.betterx.betterend.blocks.basis.FurBlock; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.tags.BlockTags; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + +import com.google.common.collect.Lists; + import java.util.List; import java.util.function.Function; @@ -68,12 +69,14 @@ public class LucerniaFeature extends DefaultFeature { return true; } - private void leavesBall(WorldGenLevel world, - BlockPos pos, - float radius, - RandomSource random, - OpenSimplexNoise noise, - boolean natural) { + private void leavesBall( + WorldGenLevel world, + BlockPos pos, + float radius, + RandomSource random, + OpenSimplexNoise noise, + boolean natural + ) { SDF sphere = new SDFSphere().setRadius(radius) .setBlock(EndBlocks.LUCERNIA_LEAVES.defaultBlockState() .setValue(LeavesBlock.DISTANCE, 6)); @@ -189,11 +192,13 @@ public class LucerniaFeature extends DefaultFeature { SplineHelper.scale(branch, scale); Vector3f last = branch.get(branch.size() - 1); if (world.getBlockState(pos.offset(last.x(), last.y(), last.z())).is(CommonBlockTags.GEN_END_STONES)) { - SplineHelper.fillSplineForce(branch, + SplineHelper.fillSplineForce( + branch, world, EndBlocks.LUCERNIA.getBark().defaultBlockState(), pos, - REPLACE); + REPLACE + ); } } } diff --git a/src/main/java/org/betterx/betterend/world/features/trees/MossyGlowshroomFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/MossyGlowshroomFeature.java index 0c627c3a..eee93985 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/MossyGlowshroomFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/MossyGlowshroomFeature.java @@ -1,15 +1,5 @@ package org.betterx.betterend.world.features.trees; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.*; @@ -24,6 +14,16 @@ import org.betterx.betterend.blocks.basis.FurBlock; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + import java.util.List; import java.util.function.Function; diff --git a/src/main/java/org/betterx/betterend/world/features/trees/PythadendronTreeFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/PythadendronTreeFeature.java index 6656e980..26d0c0b6 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/PythadendronTreeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/PythadendronTreeFeature.java @@ -1,17 +1,5 @@ package org.betterx.betterend.world.features.trees; -import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockPos.MutableBlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.LeavesBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.material.Material; - -import com.mojang.math.Vector3f; import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; import org.betterx.bclib.sdf.PosInfo; import org.betterx.bclib.sdf.SDF; @@ -26,6 +14,18 @@ import org.betterx.bclib.util.SplineHelper; import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.WorldGenLevel; +import net.minecraft.world.level.block.LeavesBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import net.minecraft.world.level.material.Material; + import java.util.List; import java.util.function.Function; @@ -73,15 +73,17 @@ public class PythadendronTreeFeature extends DefaultFeature { return true; } - private void branch(float x, - float y, - float z, - float size, - float angle, - RandomSource random, - int depth, - WorldGenLevel world, - BlockPos pos) { + private void branch( + float x, + float y, + float z, + float size, + float angle, + RandomSource random, + int depth, + WorldGenLevel world, + BlockPos pos + ) { if (depth == 0) return; float dx = (float) Math.cos(angle) * size * 0.15F; diff --git a/src/main/java/org/betterx/betterend/world/features/trees/TenaneaFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/TenaneaFeature.java index 7051adda..4b4f5495 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/TenaneaFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/TenaneaFeature.java @@ -1,5 +1,19 @@ package org.betterx.betterend.world.features.trees; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.blocks.BlockProperties; +import org.betterx.bclib.blocks.BlockProperties.TripleShape; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.*; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.blocks.basis.FurBlock; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -13,19 +27,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.blocks.BlockProperties; -import org.betterx.bclib.blocks.BlockProperties.TripleShape; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.*; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.blocks.basis.FurBlock; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; import java.util.function.Function; @@ -63,11 +64,13 @@ public class TenaneaFeature extends DefaultFeature { return true; } - private void leavesBall(WorldGenLevel world, - BlockPos pos, - float radius, - RandomSource random, - OpenSimplexNoise noise) { + private void leavesBall( + WorldGenLevel world, + BlockPos pos, + float radius, + RandomSource random, + OpenSimplexNoise noise + ) { SDF sphere = new SDFSphere().setRadius(radius) .setBlock(EndBlocks.TENANEA_LEAVES.defaultBlockState() .setValue(LeavesBlock.DISTANCE, 6)); diff --git a/src/main/java/org/betterx/betterend/world/features/trees/UmbrellaTreeFeature.java b/src/main/java/org/betterx/betterend/world/features/trees/UmbrellaTreeFeature.java index db67fda6..e2d803e7 100644 --- a/src/main/java/org/betterx/betterend/world/features/trees/UmbrellaTreeFeature.java +++ b/src/main/java/org/betterx/betterend/world/features/trees/UmbrellaTreeFeature.java @@ -1,5 +1,18 @@ package org.betterx.betterend.world.features.trees; +import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.sdf.operator.*; +import org.betterx.bclib.sdf.primitive.SDFSphere; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.SplineHelper; +import org.betterx.betterend.blocks.UmbrellaTreeClusterBlock; +import org.betterx.betterend.blocks.UmbrellaTreeMembraneBlock; +import org.betterx.betterend.registry.EndBlocks; + +import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -13,18 +26,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConf import net.minecraft.world.level.material.Material; import com.google.common.collect.Lists; -import com.mojang.math.Vector3f; -import org.betterx.bclib.api.v2.levelgen.features.features.DefaultFeature; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.sdf.operator.*; -import org.betterx.bclib.sdf.primitive.SDFSphere; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.SplineHelper; -import org.betterx.betterend.blocks.UmbrellaTreeClusterBlock; -import org.betterx.betterend.blocks.UmbrellaTreeMembraneBlock; -import org.betterx.betterend.registry.EndBlocks; import java.util.List; import java.util.function.Function; @@ -162,11 +163,13 @@ public class UmbrellaTreeFeature extends DefaultFeature { } } - private SDF makeMembrane(WorldGenLevel world, - float radius, - RandomSource random, - BlockState membrane, - BlockState center) { + private SDF makeMembrane( + WorldGenLevel world, + float radius, + RandomSource random, + BlockState membrane, + BlockState center + ) { SDF sphere = new SDFSphere().setRadius(radius).setBlock(membrane); SDF sub = new SDFTranslate().setTranslate(0, -4, 0).setSource(sphere); sphere = new SDFSubtraction().setSourceA(sphere).setSourceB(sub); diff --git a/src/main/java/org/betterx/betterend/world/generator/GeneratorOptions.java b/src/main/java/org/betterx/betterend/world/generator/GeneratorOptions.java index a2ce7bb4..56ce0537 100644 --- a/src/main/java/org/betterx/betterend/world/generator/GeneratorOptions.java +++ b/src/main/java/org/betterx/betterend/world/generator/GeneratorOptions.java @@ -1,10 +1,10 @@ package org.betterx.betterend.world.generator; +import org.betterx.betterend.config.Configs; + import net.minecraft.core.BlockPos; import net.minecraft.util.Mth; -import org.betterx.betterend.config.Configs; - public class GeneratorOptions { private static int biomeSizeCaves; private static boolean hasPortal; diff --git a/src/main/java/org/betterx/betterend/world/generator/IslandLayer.java b/src/main/java/org/betterx/betterend/world/generator/IslandLayer.java index 847af6e9..ccfa3902 100644 --- a/src/main/java/org/betterx/betterend/world/generator/IslandLayer.java +++ b/src/main/java/org/betterx/betterend/world/generator/IslandLayer.java @@ -1,10 +1,5 @@ package org.betterx.betterend.world.generator; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.levelgen.LegacyRandomSource; - -import com.google.common.collect.Maps; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.SDFRadialNoiseMap; import org.betterx.bclib.sdf.operator.SDFScale; @@ -14,6 +9,12 @@ import org.betterx.bclib.sdf.primitive.SDFCappedCone; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.noise.OpenSimplexNoise; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.levelgen.LegacyRandomSource; + +import com.google.common.collect.Maps; + import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/src/main/java/org/betterx/betterend/world/generator/LayerOptions.java b/src/main/java/org/betterx/betterend/world/generator/LayerOptions.java index e87687bd..4a88b6ee 100644 --- a/src/main/java/org/betterx/betterend/world/generator/LayerOptions.java +++ b/src/main/java/org/betterx/betterend/world/generator/LayerOptions.java @@ -1,9 +1,9 @@ package org.betterx.betterend.world.generator; -import net.minecraft.util.Mth; - import org.betterx.bclib.config.PathConfig; +import net.minecraft.util.Mth; + public class LayerOptions { public final float distance; public final float scale; @@ -15,13 +15,15 @@ public class LayerOptions { public final long centerDist; public final boolean hasCentralIsland; - public LayerOptions(String name, - PathConfig config, - float distance, - float scale, - int center, - int heightVariation, - boolean hasCentral) { + public LayerOptions( + String name, + PathConfig config, + float distance, + float scale, + int center, + int heightVariation, + boolean hasCentral + ) { this.distance = clampDistance(config.getFloat(name, "distance[1-8192]", distance)); this.scale = clampScale(config.getFloat(name, "scale[0.1-1024]", scale)); this.center = clampCenter(config.getInt(name, "averageHeight[0-255]", center)); diff --git a/src/main/java/org/betterx/betterend/world/generator/TerrainGenerator.java b/src/main/java/org/betterx/betterend/world/generator/TerrainGenerator.java index 6853e454..34bc437f 100644 --- a/src/main/java/org/betterx/betterend/world/generator/TerrainGenerator.java +++ b/src/main/java/org/betterx/betterend/world/generator/TerrainGenerator.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.generator; +import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; + import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.world.level.biome.BiomeSource; @@ -8,10 +13,6 @@ import net.minecraft.world.level.levelgen.LegacyRandomSource; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; import java.awt.*; import java.util.List; @@ -59,11 +60,11 @@ public class TerrainGenerator { double distortion1 = noise1.eval(x * 0.1, z * 0.1) * 20 + noise2.eval( x * 0.2, z * 0.2 - ) * 10 + noise1.eval(x * 0.4, z * 0.4) * 5; + ) * 10 + noise1.eval(x * 0.4, z * 0.4) * 5; double distortion2 = noise2.eval(x * 0.1, z * 0.1) * 20 + noise1.eval( x * 0.2, z * 0.2 - ) * 10 + noise2.eval(x * 0.4, z * 0.4) * 5; + ) * 10 + noise2.eval(x * 0.4, z * 0.4) * 5; double px = (double) x * scaleXZ + distortion1; double pz = (double) z * scaleXZ + distortion2; @@ -160,11 +161,11 @@ public class TerrainGenerator { double distortion1 = noise1.eval(px * 0.1, pz * 0.1) * 20 + noise2.eval(px * 0.2, pz * 0.2) * 10 + noise1.eval( px * 0.4, pz * 0.4 - ) * 5; + ) * 5; double distortion2 = noise2.eval(px * 0.1, pz * 0.1) * 20 + noise1.eval(px * 0.2, pz * 0.2) * 10 + noise2.eval( px * 0.4, pz * 0.4 - ) * 5; + ) * 5; px = px * SCALE_XZ + distortion1; pz = pz * SCALE_XZ + distortion2; diff --git a/src/main/java/org/betterx/betterend/world/structures/features/EternalPortalStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/EternalPortalStructure.java index 2322e56d..83603acf 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/EternalPortalStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/EternalPortalStructure.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.structures.features; +import org.betterx.bclib.util.StructureHelper; +import org.betterx.bclib.world.structures.BCLStructure; +import org.betterx.betterend.BetterEnd; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.world.structures.piece.NBTPiece; + import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.RandomSource; @@ -12,12 +18,6 @@ import net.minecraft.world.level.levelgen.structure.StructureType; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import org.betterx.bclib.util.StructureHelper; -import org.betterx.bclib.world.structures.BCLStructure; -import org.betterx.betterend.BetterEnd; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.world.structures.piece.NBTPiece; - import java.util.Optional; public class EternalPortalStructure extends FeatureBaseStructure { @@ -47,7 +47,7 @@ public class EternalPortalStructure extends FeatureBaseStructure { Heightmap.Types.WORLD_SURFACE_WG, levelHeightAccessor, context.randomState() - ) < 5) { + ) < 5) { return Optional.empty(); } return super.findGenerationPoint(context); diff --git a/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java index 3be95b16..26585cfb 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/FeatureBaseStructure.java @@ -15,8 +15,6 @@ import net.minecraft.world.level.levelgen.RandomState; import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import org.betterx.bclib.world.structures.BCLStructure; - import java.util.Optional; public abstract class FeatureBaseStructure extends Structure { @@ -28,11 +26,13 @@ public abstract class FeatureBaseStructure extends Structure { @Override public Optional findGenerationPoint(GenerationContext context) { - BlockPos pos = getGenerationHeight(context.chunkPos(), - context.chunkGenerator(), - context.heightAccessor(), - context.randomState()); - if (pos.getZ() >= 20 ) { + BlockPos pos = getGenerationHeight( + context.chunkPos(), + context.chunkGenerator(), + context.heightAccessor(), + context.randomState() + ); + if (pos.getZ() >= 20) { return Optional.of(new Structure.GenerationStub(pos, (structurePiecesBuilder) -> { generatePieces(structurePiecesBuilder, context); })); @@ -44,13 +44,17 @@ public abstract class FeatureBaseStructure extends Structure { return cg.getBiomeSource().getNoiseBiome(i, j, k, rState.sampler()); } - protected abstract void generatePieces(StructurePiecesBuilder structurePiecesBuilder, - Structure.GenerationContext context); + protected abstract void generatePieces( + StructurePiecesBuilder structurePiecesBuilder, + Structure.GenerationContext context + ); - private static BlockPos getGenerationHeight(ChunkPos chunkPos, - ChunkGenerator chunkGenerator, - LevelHeightAccessor levelHeightAccessor, - RandomState rState) { + private static BlockPos getGenerationHeight( + ChunkPos chunkPos, + ChunkGenerator chunkGenerator, + LevelHeightAccessor levelHeightAccessor, + RandomState rState + ) { LegacyRandomSource random = new LegacyRandomSource(chunkPos.x + chunkPos.z * 10387313); Rotation blockRotation = Rotation.getRandom(random); @@ -67,27 +71,33 @@ public abstract class FeatureBaseStructure extends Structure { int k = chunkPos.getBlockX(7); int l = chunkPos.getBlockZ(7); - int m = chunkGenerator.getFirstOccupiedHeight(k, - l, - Heightmap.Types.WORLD_SURFACE_WG, - levelHeightAccessor, - rState); - int n = chunkGenerator.getFirstOccupiedHeight(k, - l + j, - Heightmap.Types.WORLD_SURFACE_WG, - levelHeightAccessor, - rState); - int o = chunkGenerator.getFirstOccupiedHeight(k + i, - l, - Heightmap.Types.WORLD_SURFACE_WG, - levelHeightAccessor, - rState); + int m = chunkGenerator.getFirstOccupiedHeight( + k, + l, + Heightmap.Types.WORLD_SURFACE_WG, + levelHeightAccessor, + rState + ); + int n = chunkGenerator.getFirstOccupiedHeight( + k, + l + j, + Heightmap.Types.WORLD_SURFACE_WG, + levelHeightAccessor, + rState + ); + int o = chunkGenerator.getFirstOccupiedHeight( + k + i, + l, + Heightmap.Types.WORLD_SURFACE_WG, + levelHeightAccessor, + rState + ); int p = chunkGenerator.getFirstOccupiedHeight( k + i, l + j, Heightmap.Types.WORLD_SURFACE_WG, levelHeightAccessor, rState - ); + ); return new BlockPos(k, l, Math.min(Math.min(m, n), Math.min(o, p))); } } diff --git a/src/main/java/org/betterx/betterend/world/structures/features/GiantIceStarStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/GiantIceStarStructure.java index a078b62d..aaefcc08 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/GiantIceStarStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/GiantIceStarStructure.java @@ -1,15 +1,5 @@ package org.betterx.betterend.world.structures.features; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.ChunkPos; -import net.minecraft.world.level.LevelHeightAccessor; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.chunk.ChunkGenerator; -import net.minecraft.world.level.levelgen.structure.StructureType; -import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; - -import com.mojang.math.Vector3f; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.SDFRotation; import org.betterx.bclib.sdf.operator.SDFTranslate; @@ -20,6 +10,16 @@ import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndStructures; import org.betterx.betterend.world.structures.piece.VoxelPiece; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.ChunkPos; +import net.minecraft.world.level.LevelHeightAccessor; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.chunk.ChunkGenerator; +import net.minecraft.world.level.levelgen.structure.StructureType; +import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; + import java.util.ArrayList; import java.util.List; @@ -81,7 +81,7 @@ public class GiantIceStarStructure extends SDFStructureFeature { px, py, pz - ) * 0.4F + random.nextFloat() * randScale; + ) * 0.4F + random.nextFloat() * randScale; if (distance < ancientRadius) { return ancient; } else if (distance < denseRadius) { diff --git a/src/main/java/org/betterx/betterend/world/structures/features/GiantMossyGlowshroomStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/GiantMossyGlowshroomStructure.java index 11fa46ba..9bdddb49 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/GiantMossyGlowshroomStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/GiantMossyGlowshroomStructure.java @@ -1,12 +1,5 @@ package org.betterx.betterend.world.structures.features; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.levelgen.structure.StructureType; -import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; - -import com.mojang.math.Vector3f; import org.betterx.bclib.sdf.SDF; import org.betterx.bclib.sdf.operator.*; import org.betterx.bclib.sdf.primitive.SDFCappedCone; @@ -21,6 +14,13 @@ import org.betterx.betterend.noise.OpenSimplexNoise; import org.betterx.betterend.registry.EndBlocks; import org.betterx.betterend.registry.EndStructures; +import com.mojang.math.Vector3f; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.util.RandomSource; +import net.minecraft.world.level.levelgen.structure.StructureType; +import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; + import java.util.List; public class GiantMossyGlowshroomStructure extends SDFStructureFeature { @@ -61,7 +61,7 @@ public class GiantMossyGlowshroomStructure extends SDFStructureFeature { float y = pos.y() + (float) noise.eval( pos.x() * 0.1 + center.getX(), pos.z() * 0.1 + center.getZ() - ) * dist * 0.3F - dist * 0.15F; + ) * dist * 0.3F - dist * 0.15F; pos.set(pos.x(), y, pos.z()); }).setSource(cones); @@ -105,7 +105,7 @@ public class GiantMossyGlowshroomStructure extends SDFStructureFeature { .setValue( MossyGlowshroomCapBlock.TRANSITION, true - )); + )); return info.getState(); } else if (!EndBlocks.MOSSY_GLOWSHROOM.isTreeLog(info.getStateUp()) || !EndBlocks.MOSSY_GLOWSHROOM .isTreeLog(info.getStateDown())) { @@ -118,7 +118,7 @@ public class GiantMossyGlowshroomStructure extends SDFStructureFeature { .setValue( MossyGlowshroomCapBlock.TRANSITION, true - )); + )); return info.getState(); } @@ -131,7 +131,7 @@ public class GiantMossyGlowshroomStructure extends SDFStructureFeature { info.getPos().relative(dir), EndBlocks.MOSSY_GLOWSHROOM_FUR.defaultBlockState() .setValue(FurBlock.FACING, dir) - ); + ); } } @@ -139,9 +139,11 @@ public class GiantMossyGlowshroomStructure extends SDFStructureFeature { info.setBlockPos( info.getPos().below(), EndBlocks.MOSSY_GLOWSHROOM_FUR.defaultBlockState() - .setValue(FurBlock.FACING, - Direction.DOWN) - ); + .setValue( + FurBlock.FACING, + Direction.DOWN + ) + ); } } return info.getState(); diff --git a/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeSmallStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeSmallStructure.java index 583ab4fd..6f90731e 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeSmallStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeSmallStructure.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.structures.features; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.world.structures.piece.LakePiece; + import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.util.RandomSource; @@ -12,10 +16,6 @@ import net.minecraft.world.level.levelgen.RandomState; import net.minecraft.world.level.levelgen.structure.StructureType; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.world.structures.piece.LakePiece; - public class MegaLakeSmallStructure extends FeatureBaseStructure { public MegaLakeSmallStructure(StructureSettings s) { super(s); diff --git a/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeStructure.java index 89e81af6..e0886838 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/MegaLakeStructure.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.structures.features; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.world.structures.piece.LakePiece; + import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.util.RandomSource; @@ -13,10 +17,6 @@ import net.minecraft.world.level.levelgen.structure.Structure; import net.minecraft.world.level.levelgen.structure.StructureType; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.world.structures.piece.LakePiece; - public class MegaLakeStructure extends FeatureBaseStructure { diff --git a/src/main/java/org/betterx/betterend/world/structures/features/MountainStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/MountainStructure.java index 209a4f9c..272313f4 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/MountainStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/MountainStructure.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.structures.features; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.world.structures.piece.CrystalMountainPiece; + import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.util.RandomSource; @@ -12,10 +16,6 @@ import net.minecraft.world.level.levelgen.RandomState; import net.minecraft.world.level.levelgen.structure.StructureType; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.world.structures.piece.CrystalMountainPiece; - public class MountainStructure extends FeatureBaseStructure { public MountainStructure(StructureSettings s) { diff --git a/src/main/java/org/betterx/betterend/world/structures/features/PaintedMountainStructure.java b/src/main/java/org/betterx/betterend/world/structures/features/PaintedMountainStructure.java index 442df363..b37d6865 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/PaintedMountainStructure.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/PaintedMountainStructure.java @@ -1,5 +1,10 @@ package org.betterx.betterend.world.structures.features; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.world.structures.piece.PaintedMountainPiece; + import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.util.RandomSource; @@ -14,11 +19,6 @@ import net.minecraft.world.level.levelgen.RandomState; import net.minecraft.world.level.levelgen.structure.StructureType; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.world.structures.piece.PaintedMountainPiece; - public class PaintedMountainStructure extends FeatureBaseStructure { private static final BlockState[] VARIANTS; @@ -50,12 +50,14 @@ public class PaintedMountainStructure extends FeatureBaseStructure { for (int i = 0; i < count; i++) { slises[i] = VARIANTS[random.nextInt(VARIANTS.length)]; } - structurePiecesBuilder.addPiece(new PaintedMountainPiece(new BlockPos(x, y, z), - radius, - height, - random, - biome, - slises)); + structurePiecesBuilder.addPiece(new PaintedMountainPiece( + new BlockPos(x, y, z), + radius, + height, + random, + biome, + slises + )); } //this.calculateBoundingBox(); diff --git a/src/main/java/org/betterx/betterend/world/structures/features/SDFStructureFeature.java b/src/main/java/org/betterx/betterend/world/structures/features/SDFStructureFeature.java index 71c856a9..cab48a0d 100644 --- a/src/main/java/org/betterx/betterend/world/structures/features/SDFStructureFeature.java +++ b/src/main/java/org/betterx/betterend/world/structures/features/SDFStructureFeature.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.structures.features; +import org.betterx.bclib.sdf.SDF; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.world.structures.piece.VoxelPiece; + import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.ChunkPos; @@ -8,10 +12,6 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.levelgen.structure.pieces.StructurePiecesBuilder; -import org.betterx.bclib.sdf.SDF; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.world.structures.piece.VoxelPiece; - import java.util.function.BiFunction; public abstract class SDFStructureFeature extends FeatureBaseStructure { @@ -19,9 +19,11 @@ public abstract class SDFStructureFeature extends FeatureBaseStructure { super(s); } - public static void generatePieces(StructurePiecesBuilder structurePiecesBuilder, - GenerationContext context, - BiFunction sdf) { + public static void generatePieces( + StructurePiecesBuilder structurePiecesBuilder, + GenerationContext context, + BiFunction sdf + ) { final RandomSource random = context.random(); final ChunkPos chunkPos = context.chunkPos(); final ChunkGenerator chunkGenerator = context.chunkGenerator(); diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/BasePiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/BasePiece.java index 04534aab..81636c55 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/BasePiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/BasePiece.java @@ -22,8 +22,10 @@ public abstract class BasePiece extends StructurePiece { } @Override - protected void addAdditionalSaveData(StructurePieceSerializationContext structurePieceSerializationContext, - CompoundTag compoundTag) { + protected void addAdditionalSaveData( + StructurePieceSerializationContext structurePieceSerializationContext, + CompoundTag compoundTag + ) { addAdditionalSaveData(compoundTag); } } \ No newline at end of file diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/CavePiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/CavePiece.java index a4166103..d811ef43 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/CavePiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/CavePiece.java @@ -1,5 +1,12 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.nbt.CompoundTag; @@ -13,13 +20,6 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.util.GlobalState; - public class CavePiece extends BasePiece { private OpenSimplexNoise noise; private BlockPos center; @@ -40,13 +40,15 @@ public class CavePiece extends BasePiece { @Override - public void postProcess(WorldGenLevel world, - StructureManager arg, - ChunkGenerator chunkGenerator, - RandomSource random, - BoundingBox blockBox, - ChunkPos chunkPos, - BlockPos blockPos) { + public void postProcess( + WorldGenLevel world, + StructureManager arg, + ChunkGenerator chunkGenerator, + RandomSource random, + BoundingBox blockBox, + ChunkPos chunkPos, + BlockPos blockPos + ) { int x1 = MHelper.max(this.boundingBox.minX(), blockBox.minX()); int z1 = MHelper.max(this.boundingBox.minZ(), blockBox.minZ()); int x2 = MHelper.min(this.boundingBox.maxX(), blockBox.maxX()); diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/CrystalMountainPiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/CrystalMountainPiece.java index 7cd41364..00fd3fd1 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/CrystalMountainPiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/CrystalMountainPiece.java @@ -1,5 +1,13 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.util.GlobalState; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Holder; @@ -19,14 +27,6 @@ import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.util.GlobalState; -import org.betterx.betterend.world.biome.EndBiome; - public class CrystalMountainPiece extends MountainPiece { private BlockState top; @@ -46,13 +46,15 @@ public class CrystalMountainPiece extends MountainPiece { } @Override - public void postProcess(WorldGenLevel world, - StructureManager arg, - ChunkGenerator chunkGenerator, - RandomSource random, - BoundingBox blockBox, - ChunkPos chunkPos, - BlockPos blockPos) { + public void postProcess( + WorldGenLevel world, + StructureManager arg, + ChunkGenerator chunkGenerator, + RandomSource random, + BoundingBox blockBox, + ChunkPos chunkPos, + BlockPos blockPos + ) { int sx = chunkPos.getMinBlockX(); int sz = chunkPos.getMinBlockZ(); final MutableBlockPos pos = GlobalState.stateForThread().POS; @@ -96,14 +98,14 @@ public class CrystalMountainPiece extends MountainPiece { -0.4, 0.4, random - ) - (center.getY() + 14) * 0.1) > 0; + ) - (center.getY() + 14) * 0.1) > 0; for (int y = minY - 1; y < maxYI; y++) { pos.setY(y); chunk.setBlockState( pos, needCover && y == cover ? top : Blocks.END_STONE.defaultBlockState(), false - ); + ); } } } diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/LakePiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/LakePiece.java index de6c4198..c47c4f4d 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/LakePiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/LakePiece.java @@ -1,5 +1,14 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.api.v2.tag.CommonBlockTags; +import org.betterx.bclib.util.BlocksHelper; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; +import org.betterx.betterend.registry.EndBlocks; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; @@ -24,14 +33,6 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSeriali import net.minecraft.world.level.material.FluidState; import com.google.common.collect.Maps; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.api.v2.tag.CommonBlockTags; -import org.betterx.bclib.util.BlocksHelper; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; -import org.betterx.betterend.registry.EndBlocks; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.world.biome.EndBiome; import java.util.Map; @@ -86,13 +87,15 @@ public class LakePiece extends BasePiece { } @Override - public void postProcess(WorldGenLevel world, - StructureManager arg, - ChunkGenerator chunkGenerator, - RandomSource random, - BoundingBox blockBox, - ChunkPos chunkPos, - BlockPos blockPos) { + public void postProcess( + WorldGenLevel world, + StructureManager arg, + ChunkGenerator chunkGenerator, + RandomSource random, + BoundingBox blockBox, + ChunkPos chunkPos, + BlockPos blockPos + ) { int minY = this.boundingBox.minY(); int maxY = this.boundingBox.maxY(); int sx = SectionPos.sectionToBlockCoord(chunkPos.x); @@ -136,7 +139,7 @@ public class LakePiece extends BasePiece { if (!state.isCollisionShapeFullBlock(world, worldPos) && !state.isRedstoneConductor( world, worldPos - )) { + )) { state = chunk.getBlockState(mut.above()); if (state.isAir()) { state = random.nextBoolean() ? ENDSTONE : EndBiome.findTopMaterial(world, worldPos); @@ -154,12 +157,14 @@ public class LakePiece extends BasePiece { fixWater(world, chunk, mut, random, sx, sz); } - private void fixWater(WorldGenLevel world, - ChunkAccess chunk, - MutableBlockPos mut, - RandomSource random, - int sx, - int sz) { + private void fixWater( + WorldGenLevel world, + ChunkAccess chunk, + MutableBlockPos mut, + RandomSource random, + int sx, + int sz + ) { int minY = this.boundingBox.minY(); int maxY = this.boundingBox.maxY(); for (int x = 0; x < 16; x++) { diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/MountainPiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/MountainPiece.java index 47e6edd1..30e53e5b 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/MountainPiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/MountainPiece.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.noise.OpenSimplexNoise; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Holder; @@ -15,9 +19,6 @@ import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceType; import com.google.common.collect.Maps; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.noise.OpenSimplexNoise; import java.util.Map; @@ -33,12 +34,14 @@ public abstract class MountainPiece extends BasePiece { protected int seed1; protected int seed2; - public MountainPiece(StructurePieceType type, - BlockPos center, - float radius, - float height, - RandomSource random, - Holder biome) { + public MountainPiece( + StructurePieceType type, + BlockPos center, + float radius, + float height, + RandomSource random, + Holder biome + ) { super(type, random.nextInt(), null); this.center = center; this.radius = radius; @@ -102,7 +105,7 @@ public abstract class MountainPiece extends BasePiece { h = MHelper.floor(noise2.eval(pos.getX() * 0.01, pos.getZ() * 0.01) * noise2.eval( pos.getX() * 0.002, pos.getZ() * 0.002 - ) * 8 + 8); + ) * 8 + 8); if (h < 0) { heightmap.put(p, 0); diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/NBTPiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/NBTPiece.java index 2cfcd47e..ee7845ad 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/NBTPiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/NBTPiece.java @@ -1,5 +1,11 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.util.MHelper; +import org.betterx.bclib.util.StructureHelper; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.util.StructureErode; +import org.betterx.betterend.world.biome.EndBiome; + import net.minecraft.core.BlockPos; import net.minecraft.core.Vec3i; import net.minecraft.nbt.CompoundTag; @@ -17,12 +23,6 @@ import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSeriali import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate; -import org.betterx.bclib.util.MHelper; -import org.betterx.bclib.util.StructureHelper; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.util.StructureErode; -import org.betterx.betterend.world.biome.EndBiome; - public class NBTPiece extends BasePiece { private ResourceLocation structureID; private Rotation rotation; @@ -32,12 +32,14 @@ public class NBTPiece extends BasePiece { private int erosion; private boolean cover; - public NBTPiece(ResourceLocation structureID, - StructureTemplate structure, - BlockPos pos, - int erosion, - boolean cover, - RandomSource random) { + public NBTPiece( + ResourceLocation structureID, + StructureTemplate structure, + BlockPos pos, + int erosion, + boolean cover, + RandomSource random + ) { super(EndStructures.NBT_PIECE, random.nextInt(), null); this.structureID = structureID; this.structure = structure; @@ -77,13 +79,15 @@ public class NBTPiece extends BasePiece { } @Override - public void postProcess(WorldGenLevel world, - StructureManager arg, - ChunkGenerator chunkGenerator, - RandomSource random, - BoundingBox blockBox, - ChunkPos chunkPos, - BlockPos blockPos) { + public void postProcess( + WorldGenLevel world, + StructureManager arg, + ChunkGenerator chunkGenerator, + RandomSource random, + BoundingBox blockBox, + ChunkPos chunkPos, + BlockPos blockPos + ) { BoundingBox bounds = BoundingBox.fromCorners(new Vec3i( blockBox.minX(), this.boundingBox.minY(), diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/PaintedMountainPiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/PaintedMountainPiece.java index 5b719e2a..8547cc1f 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/PaintedMountainPiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/PaintedMountainPiece.java @@ -1,5 +1,9 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.util.MHelper; +import org.betterx.betterend.registry.EndStructures; +import org.betterx.betterend.util.GlobalState; + import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Holder; @@ -19,19 +23,17 @@ import net.minecraft.world.level.levelgen.Heightmap.Types; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; -import org.betterx.bclib.util.MHelper; -import org.betterx.betterend.registry.EndStructures; -import org.betterx.betterend.util.GlobalState; - public class PaintedMountainPiece extends MountainPiece { private BlockState[] slises; - public PaintedMountainPiece(BlockPos center, - float radius, - float height, - RandomSource random, - Holder biome, - BlockState[] slises) { + public PaintedMountainPiece( + BlockPos center, + float radius, + float height, + RandomSource random, + Holder biome, + BlockState[] slises + ) { super(EndStructures.PAINTED_MOUNTAIN_PIECE, center, radius, height, random, biome); this.slises = slises; } @@ -61,13 +63,15 @@ public class PaintedMountainPiece extends MountainPiece { } @Override - public void postProcess(WorldGenLevel world, - StructureManager arg, - ChunkGenerator chunkGenerator, - RandomSource random, - BoundingBox blockBox, - ChunkPos chunkPos, - BlockPos blockPos) { + public void postProcess( + WorldGenLevel world, + StructureManager arg, + ChunkGenerator chunkGenerator, + RandomSource random, + BoundingBox blockBox, + ChunkPos chunkPos, + BlockPos blockPos + ) { int sx = chunkPos.getMinBlockX(); int sz = chunkPos.getMinBlockZ(); final MutableBlockPos pos = GlobalState.stateForThread().POS; @@ -103,7 +107,7 @@ public class PaintedMountainPiece extends MountainPiece { float offset = (float) (noise1.eval(px * 0.07, pz * 0.07) * 5 + noise1.eval( px * 0.2, pz * 0.2 - ) * 2 + 7); + ) * 2 + 7); for (int y = minY - 1; y < maxY; y++) { pos.setY(y); int index = MHelper.floor((y + offset) * 0.65F) % slises.length; diff --git a/src/main/java/org/betterx/betterend/world/structures/piece/VoxelPiece.java b/src/main/java/org/betterx/betterend/world/structures/piece/VoxelPiece.java index 4a282742..8f987474 100644 --- a/src/main/java/org/betterx/betterend/world/structures/piece/VoxelPiece.java +++ b/src/main/java/org/betterx/betterend/world/structures/piece/VoxelPiece.java @@ -1,5 +1,8 @@ package org.betterx.betterend.world.structures.piece; +import org.betterx.bclib.api.v2.levelgen.structures.StructureWorld; +import org.betterx.betterend.registry.EndStructures; + import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.RandomSource; @@ -10,9 +13,6 @@ import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.pieces.StructurePieceSerializationContext; -import org.betterx.bclib.api.v2.levelgen.structures.StructureWorld; -import org.betterx.betterend.registry.EndStructures; - import java.util.function.Consumer; public class VoxelPiece extends BasePiece { @@ -41,13 +41,15 @@ public class VoxelPiece extends BasePiece { } @Override - public void postProcess(WorldGenLevel world, - StructureManager arg, - ChunkGenerator chunkGenerator, - RandomSource random, - BoundingBox blockBox, - ChunkPos chunkPos, - BlockPos blockPos) { + public void postProcess( + WorldGenLevel world, + StructureManager arg, + ChunkGenerator chunkGenerator, + RandomSource random, + BoundingBox blockBox, + ChunkPos chunkPos, + BlockPos blockPos + ) { this.world.placeChunk(world, chunkPos); } } diff --git a/src/main/java/org/betterx/betterend/world/surface/SplitNoiseCondition.java b/src/main/java/org/betterx/betterend/world/surface/SplitNoiseCondition.java index d62cbc7d..42c462cf 100644 --- a/src/main/java/org/betterx/betterend/world/surface/SplitNoiseCondition.java +++ b/src/main/java/org/betterx/betterend/world/surface/SplitNoiseCondition.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.surface; -import net.minecraft.core.Registry; - -import com.mojang.serialization.Codec; import org.betterx.bclib.interfaces.NumericProvider; import org.betterx.bclib.mixin.common.SurfaceRulesContextAccessor; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.noise.OpenSimplexNoise; +import com.mojang.serialization.Codec; +import net.minecraft.core.Registry; + /** * Noise source that returns a value in [0, 1] */ diff --git a/src/main/java/org/betterx/betterend/world/surface/SulphuricSurfaceNoiseCondition.java b/src/main/java/org/betterx/betterend/world/surface/SulphuricSurfaceNoiseCondition.java index 524034aa..eb001aed 100644 --- a/src/main/java/org/betterx/betterend/world/surface/SulphuricSurfaceNoiseCondition.java +++ b/src/main/java/org/betterx/betterend/world/surface/SulphuricSurfaceNoiseCondition.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.surface; -import net.minecraft.core.Registry; - -import com.mojang.serialization.Codec; import org.betterx.bclib.interfaces.NumericProvider; import org.betterx.bclib.mixin.common.SurfaceRulesContextAccessor; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.noise.OpenSimplexNoise; +import com.mojang.serialization.Codec; +import net.minecraft.core.Registry; + /** * Noise source that returns a value in [0, 3] */ @@ -24,10 +24,14 @@ public class SulphuricSurfaceNoiseCondition implements NumericProvider { public int getNumber(SurfaceRulesContextAccessor context) { final int x = context.getBlockX(); final int z = context.getBlockZ(); - final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, - z * 0.1) * 0.3 + MHelper.randRange(-0.1, - 0.1, - MHelper.RANDOM_SOURCE); + final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval( + x * 0.1, + z * 0.1 + ) * 0.3 + MHelper.randRange( + -0.1, + 0.1, + MHelper.RANDOM_SOURCE + ); if (value < -0.6) return 0; if (value < -0.3) return 1; if (value < 0.5) return 2; @@ -40,8 +44,10 @@ public class SulphuricSurfaceNoiseCondition implements NumericProvider { } static { - Registry.register(NumericProvider.NUMERIC_PROVIDER, - BetterEnd.makeID("sulphuric_surf"), - SulphuricSurfaceNoiseCondition.CODEC); + Registry.register( + NumericProvider.NUMERIC_PROVIDER, + BetterEnd.makeID("sulphuric_surf"), + SulphuricSurfaceNoiseCondition.CODEC + ); } } diff --git a/src/main/java/org/betterx/betterend/world/surface/UmbraSurfaceNoiseCondition.java b/src/main/java/org/betterx/betterend/world/surface/UmbraSurfaceNoiseCondition.java index 52eaf9d8..bfcadd86 100644 --- a/src/main/java/org/betterx/betterend/world/surface/UmbraSurfaceNoiseCondition.java +++ b/src/main/java/org/betterx/betterend/world/surface/UmbraSurfaceNoiseCondition.java @@ -1,14 +1,14 @@ package org.betterx.betterend.world.surface; -import net.minecraft.core.Registry; - -import com.mojang.serialization.Codec; import org.betterx.bclib.interfaces.NumericProvider; import org.betterx.bclib.mixin.common.SurfaceRulesContextAccessor; import org.betterx.bclib.util.MHelper; import org.betterx.betterend.BetterEnd; import org.betterx.betterend.noise.OpenSimplexNoise; +import com.mojang.serialization.Codec; +import net.minecraft.core.Registry; + /** * Noise source that returns a value in [0, 4] */ @@ -28,10 +28,14 @@ public class UmbraSurfaceNoiseCondition implements NumericProvider { } public static int getDepth(int x, int z) { - final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval(x * 0.1, - z * 0.1) * 0.3 + MHelper.randRange(-0.1, - 0.1, - MHelper.RANDOM_SOURCE); + final double value = NOISE.eval(x * 0.03, z * 0.03) + NOISE.eval( + x * 0.1, + z * 0.1 + ) * 0.3 + MHelper.randRange( + -0.1, + 0.1, + MHelper.RANDOM_SOURCE + ); if (value > 0.4) return 0; if (value > 0.15) return 1; if (value > -0.15) return 2; @@ -45,8 +49,10 @@ public class UmbraSurfaceNoiseCondition implements NumericProvider { } static { - Registry.register(NumericProvider.NUMERIC_PROVIDER, - BetterEnd.makeID("umbra_srf"), - UmbraSurfaceNoiseCondition.CODEC); + Registry.register( + NumericProvider.NUMERIC_PROVIDER, + BetterEnd.makeID("umbra_srf"), + UmbraSurfaceNoiseCondition.CODEC + ); } } diff --git a/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java b/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java index fa1783e6..fee2cc5c 100644 --- a/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java +++ b/src/main/java/shadow/fabric/api/client/rendering/v1/ArmorRenderingRegistry.java @@ -21,19 +21,21 @@ package shadow.fabric.api.client.rendering.v1; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.model.HumanoidModel; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + import shadow.fabric.impl.client.rendering.ArmorRenderingRegistryImpl; import java.util.Arrays; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * A class for registering custom armor models and textures for {@link Item}, to be provided by a {@link ModelProvider} or {@link TextureProvider}. @@ -49,121 +51,147 @@ import java.util.Arrays; */ @Environment(EnvType.CLIENT) public final class ArmorRenderingRegistry { - private ArmorRenderingRegistry() { - } - - /** - * Registers a provider for custom armor models for an item. - * - * @param provider the provider for the model - * @param items the items to be registered for - */ - public static void registerModel(@Nullable ModelProvider provider, Item... items) { - registerModel(provider, Arrays.asList(items)); - } - - /** - * Registers a provider for custom armor models for an item. - * - * @param provider the provider for the model - * @param items the items to be registered for - */ - public static void registerModel(@Nullable ModelProvider provider, Iterable items) { - ArmorRenderingRegistryImpl.registerModel(provider, items); - } - - /** - * Registers a provider for custom texture models for an item. - * - * @param provider the provider for the texture - * @param items the items to be registered for - */ - public static void registerTexture(@Nullable TextureProvider provider, Item... items) { - registerTexture(provider, Arrays.asList(items)); - } - - /** - * Registers a provider for custom texture models for an item. - * - * @param provider the provider for the texture - * @param items the items to be registered for - */ - public static void registerTexture(@Nullable TextureProvider provider, Iterable items) { - ArmorRenderingRegistryImpl.registerTexture(provider, items); - } - - /** - * Register simple armor items to use the vanilla armor file name under the mods namespace. - * - * @param identifier The namespace + path to use for the armor texture location. - * @param items the items to be registered - */ - public static void registerSimpleTexture(ResourceLocation identifier, Item... items) { - registerTexture((entity, stack, slot, secondLayer, suffix, defaultTexture) -> { - return new ResourceLocation( - identifier.getNamespace(), - "textures/models/armor/" + identifier.getPath() + "_layer_" + (secondLayer ? 2 : 1) + (suffix == null ? "" : "_" + suffix) + ".png" - ); - }, items); - } - - /** - * Gets the model of the armor piece. - * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in - * @param defaultModel The default model that vanilla provides - * @return The model of the armor piece. - */ - @NotNull - public static HumanoidModel getArmorModel(LivingEntity entity, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel) { - return ArmorRenderingRegistryImpl.getArmorModel(entity, stack, slot, defaultModel); - } - - /** - * Gets the armor texture {@link net.minecraft.resources.ResourceLocation}. - * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in - * @param secondLayer True if using the second texture layer - * @param suffix The texture suffix, used in vanilla by {@link net.minecraft.world.item.DyeableArmorItem} - * @param defaultTexture The default vanilla texture identifier - * @return the custom armor texture identifier, return null to use the vanilla ones. Defaulted to the item's registry id. - */ - @NotNull - public static ResourceLocation getArmorTexture(LivingEntity entity, ItemStack stack, EquipmentSlot slot, boolean secondLayer, @Nullable String suffix, ResourceLocation defaultTexture) { - return ArmorRenderingRegistryImpl.getArmorTexture(entity, stack, slot, secondLayer, suffix, defaultTexture); - } - - @FunctionalInterface - @Environment(EnvType.CLIENT) - public interface ModelProvider { - /** - * Gets the model of the armor piece. - * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in - * @param defaultModel The default vanilla armor model - * @return The model of the armor piece. Should never be null. - */ - @NotNull HumanoidModel getArmorModel(LivingEntity entity, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel); - } - - @FunctionalInterface - @Environment(EnvType.CLIENT) - public interface TextureProvider { - /** - * Gets the armor texture {@link net.minecraft.resources.ResourceLocation}. - * - * @param entity The entity equipping the armor - * @param stack The item stack of the armor - * @param slot The slot which the armor is in - * @param defaultTexture The default vanilla texture identifier - * @return the custom armor texture identifier. Should never be null. - */ - @NotNull ResourceLocation getArmorTexture(LivingEntity entity, ItemStack stack, EquipmentSlot slot, boolean secondLayer, @Nullable String suffix, ResourceLocation defaultTexture); - } + private ArmorRenderingRegistry() { + } + + /** + * Registers a provider for custom armor models for an item. + * + * @param provider the provider for the model + * @param items the items to be registered for + */ + public static void registerModel(@Nullable ModelProvider provider, Item... items) { + registerModel(provider, Arrays.asList(items)); + } + + /** + * Registers a provider for custom armor models for an item. + * + * @param provider the provider for the model + * @param items the items to be registered for + */ + public static void registerModel(@Nullable ModelProvider provider, Iterable items) { + ArmorRenderingRegistryImpl.registerModel(provider, items); + } + + /** + * Registers a provider for custom texture models for an item. + * + * @param provider the provider for the texture + * @param items the items to be registered for + */ + public static void registerTexture(@Nullable TextureProvider provider, Item... items) { + registerTexture(provider, Arrays.asList(items)); + } + + /** + * Registers a provider for custom texture models for an item. + * + * @param provider the provider for the texture + * @param items the items to be registered for + */ + public static void registerTexture(@Nullable TextureProvider provider, Iterable items) { + ArmorRenderingRegistryImpl.registerTexture(provider, items); + } + + /** + * Register simple armor items to use the vanilla armor file name under the mods namespace. + * + * @param identifier The namespace + path to use for the armor texture location. + * @param items the items to be registered + */ + public static void registerSimpleTexture(ResourceLocation identifier, Item... items) { + registerTexture((entity, stack, slot, secondLayer, suffix, defaultTexture) -> { + return new ResourceLocation( + identifier.getNamespace(), + "textures/models/armor/" + identifier.getPath() + "_layer_" + (secondLayer + ? 2 + : 1) + (suffix == null ? "" : "_" + suffix) + ".png" + ); + }, items); + } + + /** + * Gets the model of the armor piece. + * + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in + * @param defaultModel The default model that vanilla provides + * @return The model of the armor piece. + */ + @NotNull + public static HumanoidModel getArmorModel( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + HumanoidModel defaultModel + ) { + return ArmorRenderingRegistryImpl.getArmorModel(entity, stack, slot, defaultModel); + } + + /** + * Gets the armor texture {@link net.minecraft.resources.ResourceLocation}. + * + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in + * @param secondLayer True if using the second texture layer + * @param suffix The texture suffix, used in vanilla by {@link net.minecraft.world.item.DyeableArmorItem} + * @param defaultTexture The default vanilla texture identifier + * @return the custom armor texture identifier, return null to use the vanilla ones. Defaulted to the item's registry id. + */ + @NotNull + public static ResourceLocation getArmorTexture( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + boolean secondLayer, + @Nullable String suffix, + ResourceLocation defaultTexture + ) { + return ArmorRenderingRegistryImpl.getArmorTexture(entity, stack, slot, secondLayer, suffix, defaultTexture); + } + + @FunctionalInterface + @Environment(EnvType.CLIENT) + public interface ModelProvider { + /** + * Gets the model of the armor piece. + * + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in + * @param defaultModel The default vanilla armor model + * @return The model of the armor piece. Should never be null. + */ + @NotNull HumanoidModel getArmorModel( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + HumanoidModel defaultModel + ); + } + + @FunctionalInterface + @Environment(EnvType.CLIENT) + public interface TextureProvider { + /** + * Gets the armor texture {@link net.minecraft.resources.ResourceLocation}. + * + * @param entity The entity equipping the armor + * @param stack The item stack of the armor + * @param slot The slot which the armor is in + * @param defaultTexture The default vanilla texture identifier + * @return the custom armor texture identifier. Should never be null. + */ + @NotNull ResourceLocation getArmorTexture( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + boolean secondLayer, + @Nullable String suffix, + ResourceLocation defaultTexture + ); + } } diff --git a/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java b/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java index ccb6a838..667adca8 100644 --- a/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java +++ b/src/main/java/shadow/fabric/impl/client/rendering/ArmorProviderExtensions.java @@ -21,15 +21,16 @@ package shadow.fabric.impl.client.rendering; -import org.jetbrains.annotations.Nullable; import shadow.fabric.api.client.rendering.v1.ArmorRenderingRegistry; +import org.jetbrains.annotations.Nullable; + public interface ArmorProviderExtensions { - @Nullable ArmorRenderingRegistry.ModelProvider fabric_getArmorModelProvider(); - - @Nullable ArmorRenderingRegistry.TextureProvider fabric_getArmorTextureProvider(); - - void fabric_setArmorModelProvider(@Nullable ArmorRenderingRegistry.ModelProvider provider); - - void fabric_setArmorTextureProvider(@Nullable ArmorRenderingRegistry.TextureProvider provider); + @Nullable ArmorRenderingRegistry.ModelProvider fabric_getArmorModelProvider(); + + @Nullable ArmorRenderingRegistry.TextureProvider fabric_getArmorTextureProvider(); + + void fabric_setArmorModelProvider(@Nullable ArmorRenderingRegistry.ModelProvider provider); + + void fabric_setArmorTextureProvider(@Nullable ArmorRenderingRegistry.TextureProvider provider); } diff --git a/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java b/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java index 5e23e5c4..f69bff9f 100644 --- a/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java +++ b/src/main/java/shadow/fabric/impl/client/rendering/ArmorRenderingRegistryImpl.java @@ -27,56 +27,69 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.Nullable; + import shadow.fabric.api.client.rendering.v1.ArmorRenderingRegistry; import java.util.Objects; +import org.jetbrains.annotations.Nullable; public final class ArmorRenderingRegistryImpl { - private ArmorRenderingRegistryImpl() { - } - - public static void registerModel(ArmorRenderingRegistry.ModelProvider provider, Iterable items) { - Objects.requireNonNull(items); - - for (Item item : items) { - Objects.requireNonNull(item); - - ((ArmorProviderExtensions) item).fabric_setArmorModelProvider(provider); - } - } - - public static void registerTexture(ArmorRenderingRegistry.TextureProvider provider, Iterable items) { - Objects.requireNonNull(items); - - for (Item item : items) { - Objects.requireNonNull(item); - - ((ArmorProviderExtensions) item).fabric_setArmorTextureProvider(provider); - } - } - - public static HumanoidModel getArmorModel(LivingEntity entity, ItemStack stack, EquipmentSlot slot, HumanoidModel defaultModel) { - if (!stack.isEmpty()) { - ArmorRenderingRegistry.ModelProvider provider = ((ArmorProviderExtensions) stack.getItem()).fabric_getArmorModelProvider(); - - if (provider != null) { - return provider.getArmorModel(entity, stack, slot, defaultModel); - } - } - - return defaultModel; - } - - public static ResourceLocation getArmorTexture(LivingEntity entity, ItemStack stack, EquipmentSlot slot, boolean secondLayer, @Nullable String suffix, ResourceLocation defaultTexture) { - if (!stack.isEmpty()) { - ArmorRenderingRegistry.TextureProvider provider = ((ArmorProviderExtensions) stack.getItem()).fabric_getArmorTextureProvider(); - - if (provider != null) { - return provider.getArmorTexture(entity, stack, slot, secondLayer, suffix, defaultTexture); - } - } - - return defaultTexture; - } + private ArmorRenderingRegistryImpl() { + } + + public static void registerModel(ArmorRenderingRegistry.ModelProvider provider, Iterable items) { + Objects.requireNonNull(items); + + for (Item item : items) { + Objects.requireNonNull(item); + + ((ArmorProviderExtensions) item).fabric_setArmorModelProvider(provider); + } + } + + public static void registerTexture(ArmorRenderingRegistry.TextureProvider provider, Iterable items) { + Objects.requireNonNull(items); + + for (Item item : items) { + Objects.requireNonNull(item); + + ((ArmorProviderExtensions) item).fabric_setArmorTextureProvider(provider); + } + } + + public static HumanoidModel getArmorModel( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + HumanoidModel defaultModel + ) { + if (!stack.isEmpty()) { + ArmorRenderingRegistry.ModelProvider provider = ((ArmorProviderExtensions) stack.getItem()).fabric_getArmorModelProvider(); + + if (provider != null) { + return provider.getArmorModel(entity, stack, slot, defaultModel); + } + } + + return defaultModel; + } + + public static ResourceLocation getArmorTexture( + LivingEntity entity, + ItemStack stack, + EquipmentSlot slot, + boolean secondLayer, + @Nullable String suffix, + ResourceLocation defaultTexture + ) { + if (!stack.isEmpty()) { + ArmorRenderingRegistry.TextureProvider provider = ((ArmorProviderExtensions) stack.getItem()).fabric_getArmorTextureProvider(); + + if (provider != null) { + return provider.getArmorTexture(entity, stack, slot, secondLayer, suffix, defaultTexture); + } + } + + return defaultTexture; + } } diff --git a/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java b/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java index 7a26ae46..ccbc36b9 100644 --- a/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java +++ b/src/main/java/shadow/fabric/mixin/client/rendering/MixinArmorFeatureRenderer.java @@ -22,8 +22,6 @@ package shadow.fabric.mixin.client.rendering; import com.mojang.blaze3d.vertex.PoseStack; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.RenderLayerParent; @@ -34,6 +32,10 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.ItemStack; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -51,69 +53,107 @@ import java.util.Objects; @Mixin(HumanoidArmorLayer.class) @Environment(EnvType.CLIENT) public abstract class MixinArmorFeatureRenderer extends RenderLayer { - @Shadow - @Final - private static Map ARMOR_LOCATION_CACHE; - - public MixinArmorFeatureRenderer(RenderLayerParent context) { - super(context); - - } - - @Unique - private LivingEntity storedEntity; - @Unique - private EquipmentSlot storedSlot; - - @Inject(method = "render", at = @At("HEAD")) - private void storeEntity(PoseStack matrixStack, MultiBufferSource vertexConsumerProvider, int i, LivingEntity livingEntity, float f, float g, float h, float j, float k, float l, CallbackInfo ci) { - // We store the living entity wearing the armor before we render - this.storedEntity = livingEntity; - } - - @Inject(method = "renderArmorPiece", at = @At("HEAD")) - private void storeSlot(PoseStack matrices, MultiBufferSource vertexConsumers, LivingEntity livingEntity, EquipmentSlot slot, int i, HumanoidModel bipedEntityModel, CallbackInfo ci) { - // We store the current armor slot that is rendering before we render each armor piece - this.storedSlot = slot; - } - - @Inject(method = "render", at = @At("RETURN")) - private void removeStored(PoseStack matrixStack, MultiBufferSource vertexConsumerProvider, int i, LivingEntity livingEntity, float f, float g, float h, float j, float k, float l, CallbackInfo ci) { - // We remove the stored data after we render - this.storedEntity = null; - this.storedSlot = null; - } - - @Inject(method = "getArmorModel", at = @At("RETURN"), cancellable = true) - private void selectArmorModel(EquipmentSlot slot, CallbackInfoReturnable> cir) { - ItemStack stack = storedEntity.getItemBySlot(slot); - - HumanoidModel defaultModel = cir.getReturnValue(); - HumanoidModel model = ArmorRenderingRegistry.getArmorModel( - storedEntity, - stack, - slot, - defaultModel - ); - - if (model != defaultModel) { - cir.setReturnValue(model); - } - } - - @Inject(method = "getArmorLocation", at = @At(value = "INVOKE", target = "Ljava/util/Map;computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;"), cancellable = true, locals = LocalCapture.CAPTURE_FAILHARD) - private void getArmorTexture(ArmorItem armorItem, boolean secondLayer, /* @Nullable */ String suffix, CallbackInfoReturnable cir, String vanillaIdentifier) { - String texture = ArmorRenderingRegistry.getArmorTexture( - storedEntity, - storedEntity.getItemBySlot(storedSlot), - storedSlot, - secondLayer, - suffix, - new ResourceLocation(vanillaIdentifier) - ).toString(); - - if (!Objects.equals(texture, vanillaIdentifier)) { - cir.setReturnValue(ARMOR_LOCATION_CACHE.computeIfAbsent(texture, ResourceLocation::new)); - } - } + @Shadow + @Final + private static Map ARMOR_LOCATION_CACHE; + + public MixinArmorFeatureRenderer(RenderLayerParent context) { + super(context); + + } + + @Unique + private LivingEntity storedEntity; + @Unique + private EquipmentSlot storedSlot; + + @Inject(method = "render", at = @At("HEAD")) + private void storeEntity( + PoseStack matrixStack, + MultiBufferSource vertexConsumerProvider, + int i, + LivingEntity livingEntity, + float f, + float g, + float h, + float j, + float k, + float l, + CallbackInfo ci + ) { + // We store the living entity wearing the armor before we render + this.storedEntity = livingEntity; + } + + @Inject(method = "renderArmorPiece", at = @At("HEAD")) + private void storeSlot( + PoseStack matrices, + MultiBufferSource vertexConsumers, + LivingEntity livingEntity, + EquipmentSlot slot, + int i, + HumanoidModel bipedEntityModel, + CallbackInfo ci + ) { + // We store the current armor slot that is rendering before we render each armor piece + this.storedSlot = slot; + } + + @Inject(method = "render", at = @At("RETURN")) + private void removeStored( + PoseStack matrixStack, + MultiBufferSource vertexConsumerProvider, + int i, + LivingEntity livingEntity, + float f, + float g, + float h, + float j, + float k, + float l, + CallbackInfo ci + ) { + // We remove the stored data after we render + this.storedEntity = null; + this.storedSlot = null; + } + + @Inject(method = "getArmorModel", at = @At("RETURN"), cancellable = true) + private void selectArmorModel(EquipmentSlot slot, CallbackInfoReturnable> cir) { + ItemStack stack = storedEntity.getItemBySlot(slot); + + HumanoidModel defaultModel = cir.getReturnValue(); + HumanoidModel model = ArmorRenderingRegistry.getArmorModel( + storedEntity, + stack, + slot, + defaultModel + ); + + if (model != defaultModel) { + cir.setReturnValue(model); + } + } + + @Inject(method = "getArmorLocation", at = @At(value = "INVOKE", target = "Ljava/util/Map;computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;"), cancellable = true, locals = LocalCapture.CAPTURE_FAILHARD) + private void getArmorTexture( + ArmorItem armorItem, + boolean secondLayer, /* @Nullable */ + String suffix, + CallbackInfoReturnable cir, + String vanillaIdentifier + ) { + String texture = ArmorRenderingRegistry.getArmorTexture( + storedEntity, + storedEntity.getItemBySlot(storedSlot), + storedSlot, + secondLayer, + suffix, + new ResourceLocation(vanillaIdentifier) + ).toString(); + + if (!Objects.equals(texture, vanillaIdentifier)) { + cir.setReturnValue(ARMOR_LOCATION_CACHE.computeIfAbsent(texture, ResourceLocation::new)); + } + } } diff --git a/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java b/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java index 32ed410e..37dbaa36 100644 --- a/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java +++ b/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java @@ -22,6 +22,7 @@ package shadow.fabric.mixin.client.rendering; import net.minecraft.world.item.Item; + import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import shadow.fabric.api.client.rendering.v1.ArmorRenderingRegistry; @@ -30,28 +31,28 @@ import shadow.fabric.impl.client.rendering.ArmorProviderExtensions; @Mixin(Item.class) public class MixinItem implements ArmorProviderExtensions { - @Unique - private ArmorRenderingRegistry.ModelProvider armorModelProvider; - @Unique - private ArmorRenderingRegistry.TextureProvider armorTextureProvider; - - @Override - public ArmorRenderingRegistry.ModelProvider fabric_getArmorModelProvider() { - return armorModelProvider; - } - - @Override - public ArmorRenderingRegistry.TextureProvider fabric_getArmorTextureProvider() { - return armorTextureProvider; - } - - @Override - public void fabric_setArmorModelProvider(ArmorRenderingRegistry.ModelProvider provider) { - armorModelProvider = provider; - } - - @Override - public void fabric_setArmorTextureProvider(ArmorRenderingRegistry.TextureProvider provider) { - armorTextureProvider = provider; - } + @Unique + private ArmorRenderingRegistry.ModelProvider armorModelProvider; + @Unique + private ArmorRenderingRegistry.TextureProvider armorTextureProvider; + + @Override + public ArmorRenderingRegistry.ModelProvider fabric_getArmorModelProvider() { + return armorModelProvider; + } + + @Override + public ArmorRenderingRegistry.TextureProvider fabric_getArmorTextureProvider() { + return armorTextureProvider; + } + + @Override + public void fabric_setArmorModelProvider(ArmorRenderingRegistry.ModelProvider provider) { + armorModelProvider = provider; + } + + @Override + public void fabric_setArmorTextureProvider(ArmorRenderingRegistry.TextureProvider provider) { + armorTextureProvider = provider; + } } \ No newline at end of file