diff --git a/src/main/java/org/violetmoon/zeta/client/ClientRegistryExtension.java b/src/main/java/org/violetmoon/zeta/client/ClientRegistryExtension.java
index a4a3463..0042a35 100644
--- a/src/main/java/org/violetmoon/zeta/client/ClientRegistryExtension.java
+++ b/src/main/java/org/violetmoon/zeta/client/ClientRegistryExtension.java
@@ -46,7 +46,7 @@ public void registerItemColorHandlers(ZAddItemColorHandlers event) {
DyeablesRegistry dyeables = z.dyeables;
ClampedItemPropertyFunction isDyed = (stack, level, entity, i) -> dyeables.isDyed(stack) ? 1 : 0;
- ItemColor color = (stack, layer) -> layer == 0 ? dyeables.getColor(stack) : 0xFF_FF_FF;
+ ItemColor color = (stack, layer) -> layer == 0 ? dyeables.getColor(stack).rgb() : 0xFF_FF_FF;
//apparently ItemPropertyFunctions are weird and can only be assigned to the minecraft: namespace
ResourceLocation isDyedId = ResourceLocation.withDefaultNamespace( z.modid + "_dyed");
diff --git a/src/main/java/org/violetmoon/zeta/client/ClientTicker.java b/src/main/java/org/violetmoon/zeta/client/ClientTicker.java
index 95e9201..2aeffd0 100644
--- a/src/main/java/org/violetmoon/zeta/client/ClientTicker.java
+++ b/src/main/java/org/violetmoon/zeta/client/ClientTicker.java
@@ -1,7 +1,7 @@
package org.violetmoon.zeta.client;
import org.violetmoon.zeta.client.event.play.ZClientTick;
-import org.violetmoon.zeta.client.event.play.ZRenderTick;
+import org.violetmoon.zeta.client.event.play.ZRenderFrame;
import org.violetmoon.zeta.event.bus.PlayEvent;
import org.violetmoon.zeta.event.bus.ZPhase;
@@ -15,7 +15,7 @@ public final class ClientTicker {
public float total = 0;
@PlayEvent
- public void onRenderTick(ZRenderTick event) {
+ public void onRenderTick(ZRenderFrame event) {
if(event.isStartPhase())
partialTicks = event.getRenderTickTime();
else
diff --git a/src/main/java/org/violetmoon/zeta/client/TopLayerTooltipHandler.java b/src/main/java/org/violetmoon/zeta/client/TopLayerTooltipHandler.java
index 6fe5106..a5f19d0 100644
--- a/src/main/java/org/violetmoon/zeta/client/TopLayerTooltipHandler.java
+++ b/src/main/java/org/violetmoon/zeta/client/TopLayerTooltipHandler.java
@@ -10,7 +10,7 @@
import net.neoforged.neoforge.client.ClientHooks;
import org.joml.Matrix4f;
import org.joml.Matrix4fStack;
-import org.violetmoon.zeta.client.event.play.ZRenderTick;
+import org.violetmoon.zeta.client.event.play.ZRenderFrame;
import org.violetmoon.zeta.event.bus.PlayEvent;
import java.util.List;
@@ -24,7 +24,7 @@ public class TopLayerTooltipHandler {
private int tooltipX, tooltipY;
@PlayEvent
- public void renderTick(ZRenderTick event) {
+ public void renderTick(ZRenderFrame event) {
if(tooltip != null && event.isEndPhase()) {
Minecraft mc = Minecraft.getInstance();
Screen screen = mc.screen;
diff --git a/src/main/java/org/violetmoon/zeta/client/event/load/ZModel.java b/src/main/java/org/violetmoon/zeta/client/event/load/ZModel.java
index 3496797..e3bc51c 100644
--- a/src/main/java/org/violetmoon/zeta/client/event/load/ZModel.java
+++ b/src/main/java/org/violetmoon/zeta/client/event/load/ZModel.java
@@ -3,6 +3,7 @@
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelManager;
+import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.resources.ResourceLocation;
import net.neoforged.neoforge.client.model.geometry.IGeometryLoader;
import org.violetmoon.zeta.event.bus.IZetaLoadEvent;
@@ -11,21 +12,21 @@
public interface ZModel extends IZetaLoadEvent {
interface ModifyBakingResult extends ZModel {
- Map getModels();
+ Map getModels();
ModelBakery getModelBakery();
}
interface BakingCompleted extends ZModel {
ModelManager getModelManager();
- Map getModels();
+ Map getModels();
ModelBakery getModelBakery();
}
interface RegisterAdditional extends ZModel {
- void register(ResourceLocation model);
+ void register(ModelResourceLocation model);
}
interface RegisterGeometryLoaders extends ZModel {
- void register(String name, IGeometryLoader> loader);
+ void register(ResourceLocation id, IGeometryLoader> loader);
}
}
diff --git a/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderTick.java b/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderFrame.java
similarity index 87%
rename from src/main/java/org/violetmoon/zeta/client/event/play/ZRenderTick.java
rename to src/main/java/org/violetmoon/zeta/client/event/play/ZRenderFrame.java
index 697bcaf..d1e6db4 100644
--- a/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderTick.java
+++ b/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderFrame.java
@@ -8,7 +8,7 @@
* will not work, Use {@link ZEarlyRender } instead.
*
*/
-public interface ZRenderTick extends IZetaPlayEvent {
+public interface ZRenderFrame extends IZetaPlayEvent {
float getRenderTickTime();
boolean isEndPhase();
diff --git a/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderGuiOverlay.java b/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderGuiOverlay.java
index 78d4fa8..93a689b 100644
--- a/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderGuiOverlay.java
+++ b/src/main/java/org/violetmoon/zeta/client/event/play/ZRenderGuiOverlay.java
@@ -1,5 +1,6 @@
package org.violetmoon.zeta.client.event.play;
+import net.minecraft.client.DeltaTracker;
import org.violetmoon.zeta.event.bus.IZetaPlayEvent;
import com.mojang.blaze3d.platform.Window;
@@ -9,7 +10,7 @@
public interface ZRenderGuiOverlay extends IZetaPlayEvent {
Window getWindow();
GuiGraphics getGuiGraphics();
- float getPartialTick();
+ DeltaTracker getPartialTick();
boolean shouldDrawSurvivalElements();
int getLeftHeight(); //weird ForgeGui stuff
diff --git a/src/main/java/org/violetmoon/zeta/event/play/entity/player/ZRightClickBlock.java b/src/main/java/org/violetmoon/zeta/event/play/entity/player/ZRightClickBlock.java
index e17f5f2..1cae111 100644
--- a/src/main/java/org/violetmoon/zeta/event/play/entity/player/ZRightClickBlock.java
+++ b/src/main/java/org/violetmoon/zeta/event/play/entity/player/ZRightClickBlock.java
@@ -1,5 +1,6 @@
package org.violetmoon.zeta.event.play.entity.player;
+import net.neoforged.neoforge.common.util.TriState;
import org.violetmoon.zeta.event.bus.Cancellable;
import org.violetmoon.zeta.event.bus.IZetaPlayEvent;
import org.violetmoon.zeta.event.bus.Resultable;
@@ -22,7 +23,7 @@ public interface ZRightClickBlock extends IZetaPlayEvent, Cancellable, Resultabl
BlockHitResult getHitVec();
Direction getFace();
- ZResult getUseBlock();
+ TriState getUseBlock();
void setCancellationResult(InteractionResult result);
diff --git a/src/main/java/org/violetmoon/zeta/item/ext/IZetaItemExtensions.java b/src/main/java/org/violetmoon/zeta/item/ext/IZetaItemExtensions.java
index 32da1ab..8765b8d 100644
--- a/src/main/java/org/violetmoon/zeta/item/ext/IZetaItemExtensions.java
+++ b/src/main/java/org/violetmoon/zeta/item/ext/IZetaItemExtensions.java
@@ -4,6 +4,7 @@
import java.util.function.Consumer;
import net.minecraft.world.item.*;
+import net.minecraft.world.item.enchantment.Enchantments;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -74,6 +75,7 @@ default int getEnchantmentLevelZeta(ItemStack stack, Enchantment enchantment) {
}
default Map getAllEnchantmentsZeta(ItemStack stack) {
+ Enchantments
return EnchantmentHelper.deserializeEnchantments(stack.getEnchantmentTags());
}
diff --git a/src/main/java/org/violetmoon/zeta/mod/ZetaMod.java b/src/main/java/org/violetmoon/zeta/mod/ZetaMod.java
index bea5684..b328a38 100644
--- a/src/main/java/org/violetmoon/zeta/mod/ZetaMod.java
+++ b/src/main/java/org/violetmoon/zeta/mod/ZetaMod.java
@@ -5,7 +5,6 @@
import org.violetmoon.zeta.event.bus.LoadEvent;
import org.violetmoon.zeta.event.load.ZCommonSetup;
import org.violetmoon.zeta.network.ZetaModInternalNetwork;
-import org.violetmoon.zetaimplforge.config.ConfigEventDispatcher;
public class ZetaMod {
diff --git a/src/main/java/org/violetmoon/zeta/network/ZetaMessageSerializer.java b/src/main/java/org/violetmoon/zeta/network/ZetaMessageSerializer.java
index 885ccb2..86f1fa4 100644
--- a/src/main/java/org/violetmoon/zeta/network/ZetaMessageSerializer.java
+++ b/src/main/java/org/violetmoon/zeta/network/ZetaMessageSerializer.java
@@ -28,7 +28,7 @@ public final class ZetaMessageSerializer {
private final HashMap, Field[]> fieldCache = new HashMap<>();
{
- this.mapFunctions(byte.class, FriendlyByteBuf::readByte, FriendlyByteBuf::writeByte);
+ this.mapFunctions(byte.class, FriendlyByteBuf::readByte, FriendlyByteBuf::writeByte);
this.mapFunctions(short.class, FriendlyByteBuf::readShort, FriendlyByteBuf::writeShort);
mapFunctions(int.class, FriendlyByteBuf::readInt, FriendlyByteBuf::writeInt);
mapFunctions(long.class, FriendlyByteBuf::readLong, FriendlyByteBuf::writeLong);
@@ -186,11 +186,11 @@ private static void writeString(FriendlyByteBuf buf, String string) {
// Functional interfaces
// ================================================================
- public static interface Reader {
- public T read(FriendlyByteBuf buf, Field field);
+ public interface Reader {
+ T read(FriendlyByteBuf buf, Field field);
}
- public static interface Writer {
- public void write(FriendlyByteBuf buf, Field field, T t);
+ public interface Writer {
+ void write(FriendlyByteBuf buf, Field field, T t);
}
}
diff --git a/src/main/java/org/violetmoon/zeta/registry/BrewingRegistry.java b/src/main/java/org/violetmoon/zeta/registry/BrewingRegistry.java
index 863db52..3ccd74c 100644
--- a/src/main/java/org/violetmoon/zeta/registry/BrewingRegistry.java
+++ b/src/main/java/org/violetmoon/zeta/registry/BrewingRegistry.java
@@ -4,6 +4,7 @@
import java.util.function.Supplier;
import net.minecraft.core.Holder;
+import net.minecraft.world.item.Item;
import org.jetbrains.annotations.Nullable;
import org.violetmoon.zeta.Zeta;
import org.violetmoon.zeta.recipe.FlagIngredient;
@@ -24,6 +25,8 @@
* @author WireSegal
* Created at 3:34 PM on 9/23/19.
*/
+
+//Todo: This NEEDS a rewrite, I feel its been butchered in 1.21
public abstract class BrewingRegistry {
protected final Zeta zeta;
@@ -32,22 +35,22 @@ public BrewingRegistry(Zeta zeta) {
this.zeta = zeta;
}
- public void addPotionMix(String flag, Supplier reagent, MobEffect effect) {
+ public void addPotionMix(String flag, Item reagent, MobEffect effect) {
addPotionMix(flag, reagent, effect, null);
}
- public void addPotionMix(String flag, Supplier reagent, MobEffect effect,
+ public void addPotionMix(String flag, Item reagent, MobEffect effect,
int normalTime, int longTime, int strongTime) {
addPotionMix(flag, reagent, effect, null, normalTime, longTime, strongTime);
}
- public void addPotionMix(String flag, Supplier reagent, MobEffect effect,
- @Nullable MobEffect negation) {
+ public void addPotionMix(String flag, Item reagent, MobEffect effect,
+ @Nullable MobEffect negation) {
addPotionMix(flag, reagent, effect, negation, 3600, 9600, 1800);
}
- public void addPotionMix(String flag, Supplier reagent, MobEffect effect,
+ public void addPotionMix(String flag, Item reagent, MobEffect effect,
@Nullable MobEffect negation, int normalTime, int longTime, int strongTime) {
ResourceLocation loc = zeta.registry.getRegistryName(effect, BuiltInRegistries.MOB_EFFECT);
@@ -79,44 +82,47 @@ public void addPotionMix(String flag, Supplier reagent, MobEffect ef
}
- public void addPotionMix(String flag, Supplier reagent, Potion normalType, Potion longType, @Nullable Potion strongType) {
+ public void addPotionMix(String flag, Item reagent, Potion normalType, Potion longType, @Nullable Potion strongType) {
boolean hasStrong = strongType != null;
addFlaggedRecipe(flag, Potions.AWKWARD.value(), reagent, normalType);
addFlaggedRecipe(flag, Potions.WATER.value(), reagent, Potions.MUNDANE.value());
if (hasStrong)
- addFlaggedRecipe(flag, normalType, BrewingRegistry::glowstone, strongType);
- addFlaggedRecipe(flag, normalType, BrewingRegistry::redstone, longType);
+ addFlaggedRecipe(flag, normalType, Items.GLOWSTONE, strongType);
+ addFlaggedRecipe(flag, normalType, Items.REDSTONE, longType);
}
public void addNegation(String flag, Potion normalType, Potion longType, @Nullable Potion strongType,
Potion normalNegatedType, Potion longNegatedType, @Nullable Potion strongNegatedType) {
- addFlaggedRecipe(flag, normalType, BrewingRegistry::spiderEye, normalNegatedType);
+ addFlaggedRecipe(flag, normalType, Items.FERMENTED_SPIDER_EYE, normalNegatedType);
boolean hasStrong = strongType != null && strongNegatedType != null;
if (hasStrong) {
- addFlaggedRecipe(flag, strongType, BrewingRegistry::spiderEye, strongNegatedType);
- addFlaggedRecipe(flag, normalNegatedType, BrewingRegistry::glowstone, strongNegatedType);
+ addFlaggedRecipe(flag, strongType, Items.FERMENTED_SPIDER_EYE, strongNegatedType);
+ addFlaggedRecipe(flag, normalNegatedType, Items.GLOWSTONE_DUST, strongNegatedType);
}
- addFlaggedRecipe(flag, longType, BrewingRegistry::spiderEye, longNegatedType);
- addFlaggedRecipe(flag, normalNegatedType, BrewingRegistry::redstone, longNegatedType);
+ addFlaggedRecipe(flag, longType, Items.FERMENTED_SPIDER_EYE, longNegatedType);
+ addFlaggedRecipe(flag, normalNegatedType, Items.REDSTONE, longNegatedType);
}
protected final Map flaggedPotions = Maps.newHashMap();
- protected void addFlaggedRecipe(String flag, Potion potion, Supplier reagent, Potion to) {
+ protected void addFlaggedRecipe(String flag, Potion potion, Item reagent, Potion to) {
flaggedPotions.put(to, flag);
- Supplier flagIngredientSupplier = () -> new FlagIngredient(
- reagent.get(),
+ /*Supplier flagIngredientSupplier = () -> new FlagIngredient(
+ reagent,
flag,
zeta.configManager.getConfigFlagManager(),
zeta.configManager.getConfigFlagManager().flagIngredientSerializer
- );
+ );*/
+ //todo: Chat checkup on this
+ if (zeta.configManager.getConfigFlagManager().getFlag(flag)) {
+ addBrewingRecipe(potion, reagent, to);
+ };
- addBrewingRecipe(potion, flagIngredientSupplier, to);
}
protected Potion registerPotion(MobEffectInstance eff, String baseName, String name) {
@@ -132,17 +138,5 @@ public boolean isEnabled(Potion potion) {
return zeta.configManager.getConfigFlagManager().getFlag(flaggedPotions.get(potion));
}
- public static Ingredient redstone() {
- return Ingredient.of(Items.REDSTONE);
- }
-
- public static Ingredient glowstone() {
- return Ingredient.of(Items.GLOWSTONE_DUST);
- }
-
- public static Ingredient spiderEye() {
- return Ingredient.of(Items.FERMENTED_SPIDER_EYE);
- }
-
- protected abstract void addBrewingRecipe(Potion potion, Supplier reagent, Potion result);
+ protected abstract void addBrewingRecipe(Potion input, Item reagentSupplier, Potion output);
}
diff --git a/src/main/java/org/violetmoon/zeta/registry/DyeablesRegistry.java b/src/main/java/org/violetmoon/zeta/registry/DyeablesRegistry.java
index a039475..2de0094 100644
--- a/src/main/java/org/violetmoon/zeta/registry/DyeablesRegistry.java
+++ b/src/main/java/org/violetmoon/zeta/registry/DyeablesRegistry.java
@@ -5,8 +5,11 @@
import java.util.Map;
import java.util.function.BooleanSupplier;
+import net.minecraft.core.component.DataComponents;
+import net.minecraft.stats.Stats;
import net.minecraft.world.ItemInteractionResult;
-import net.minecraft.world.item.ArmorItem;
+import net.minecraft.world.item.component.DyedItemColor;
+import org.jetbrains.annotations.NotNull;
import org.violetmoon.zeta.event.bus.LoadEvent;
import org.violetmoon.zeta.event.load.ZRegister;
import org.violetmoon.zeta.module.ZetaModule;
@@ -18,7 +21,6 @@
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.InteractionHand;
-import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.DyeItem;
import net.minecraft.world.item.Item;
@@ -34,7 +36,7 @@
public class DyeablesRegistry {
//todo: This needs a redo
public final Map- dyeableConditions = new HashMap<>();
- public final DyeableLeatherItem SURROGATE = new DyeableLeatherItem() {}; //Simply an accessor for various DyeableLeatherItem default methods
+ //public final DyeableLeatherItem SURROGATE = new DyeableLeatherItem() {}; //Simply an accessor for various DyeableLeatherItem default methods
@LoadEvent
public void register(ZRegister event) {
@@ -53,13 +55,13 @@ public void registerPost(ZRegister.Post event) {
class WashingInteraction implements CauldronInteraction {
//Copy of CauldronInteraction.DYED_ITEM
@Override
- public ItemInteractionResult interact(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, ItemStack stack) {
+ public @NotNull ItemInteractionResult interact(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, ItemStack stack) {
if(!isDyed(stack))
return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION;
if(!level.isClientSide) {
- SURROGATE.clearColor(stack);
- //player.awardStat(Stats.CLEAN_ARMOR);
+ stack.remove(DataComponents.DYED_COLOR);
+ player.awardStat(Stats.CLEAN_ARMOR);
LayeredCauldronBlock.lowerFillLevel(state, level, pos);
}
@@ -85,20 +87,20 @@ public boolean isDyeable(ItemStack stack) {
}
public boolean isDyed(ItemStack stack) {
- return isDyeable(stack) && SURROGATE.hasCustomColor(stack);
+ return isDyeable(stack) && stack.getComponents().has(DataComponents.DYED_COLOR);
}
- public int getDye(ItemStack stack) {
- return SURROGATE.getColor(stack);
+ public DyedItemColor getDye(ItemStack stack) {
+ return stack.getComponents().get(DataComponents.DYED_COLOR);
}
- public void applyDye(ItemStack stack, int color) {
+ public void applyDye(ItemStack stack, DyedItemColor color) {
if(isDyeable(stack))
- SURROGATE.setColor(stack, color);
+ stack.update(DataComponents.DYED_COLOR, color, dyedItemColor -> dyedItemColor);
}
- public int getColor(ItemStack stack) {
- return isDyed(stack) ? SURROGATE.getColor(stack) : 0xFF_FF_FF;
+ public DyedItemColor getColor(ItemStack stack) {
+ return isDyed(stack) ? stack.getComponents().get(DataComponents.DYED_COLOR) : new DyedItemColor(0xFF_FF_FF, false);
}
// Copy of DyeableLeatherItem
@@ -111,11 +113,11 @@ public ItemStack dyeItem(ItemStack stack, List dyes) {
if(isDyeable(stack)) {
itemstack = stack.copy();
itemstack.setCount(1);
- if(SURROGATE.hasCustomColor(stack)) {
- int k = SURROGATE.getColor(itemstack);
- float f = (float) (k >> 16 & 255) / 255.0F;
- float f1 = (float) (k >> 8 & 255) / 255.0F;
- float f2 = (float) (k & 255) / 255.0F;
+ if(stack.getComponents().has(DataComponents.DYED_COLOR)) {
+ DyedItemColor k = stack.getComponents().get(DataComponents.DYED_COLOR);
+ float f = (float) (k.rgb() >> 16 & 255) / 255.0F;
+ float f1 = (float) (k.rgb() >> 8 & 255) / 255.0F;
+ float f2 = (float) (k.rgb() & 255) / 255.0F;
i += (int) (Math.max(f, Math.max(f1, f2)) * 255.0F);
aint[0] += (int) (f * 255.0F);
aint[1] += (int) (f1 * 255.0F);
@@ -123,15 +125,15 @@ public ItemStack dyeItem(ItemStack stack, List dyes) {
++j;
}
- for(DyeItem dyeitem : dyes) {
- float[] afloat = dyeitem.getDyeColor().getTextureDiffuseColors();
- int i2 = (int) (afloat[0] * 255.0F);
- int l = (int) (afloat[1] * 255.0F);
- int i1 = (int) (afloat[2] * 255.0F);
- i += Math.max(i2, Math.max(l, i1));
- aint[0] += i2;
- aint[1] += l;
- aint[2] += i1;
+ for(DyeItem dyeItem : dyes) {
+ int diffuseColor = dyeItem.getDyeColor().getTextureDiffuseColor();
+ float f = (diffuseColor >> 16 & 255) / 255.0F;
+ float f1 = (diffuseColor >> 8 & 255) / 255.0F;
+ float f2 = (diffuseColor & 255) / 255.0F;
+ i += (int) Math.max(f2, Math.max(f, f1));
+ aint[0] += (int) f;
+ aint[1] += (int) f1;
+ aint[2] += (int) f2;
++j;
}
@@ -145,7 +147,7 @@ public ItemStack dyeItem(ItemStack stack, List dyes) {
l1 = (int) ((float) l1 * f3 / f4);
int j2 = (j1 << 8) + k1;
j2 = (j2 << 8) + l1;
- SURROGATE.setColor(itemstack, j2);
+ stack.set(DataComponents.DYED_COLOR, new DyedItemColor(j2, false));
return itemstack;
}
diff --git a/src/main/java/org/violetmoon/zeta/util/MiscUtil.java b/src/main/java/org/violetmoon/zeta/util/MiscUtil.java
index be3ede5..44b8dea 100644
--- a/src/main/java/org/violetmoon/zeta/util/MiscUtil.java
+++ b/src/main/java/org/violetmoon/zeta/util/MiscUtil.java
@@ -105,8 +105,8 @@ public static void addGoalJustAfterLatestWithPriority(GoalSelector selector, int
}
}
- public static void damageStack(Player player, InteractionHand hand, ItemStack stack, int dmg) {
- stack.hurtAndBreak(dmg, player, (p) -> p.broadcastBreakEvent(hand));
+ public static void damageStack(Player player, ItemStack stack, int dmg) {
+ stack.hurtAndBreak(dmg, player, stack.getEquipmentSlot());
}
public static Vec2 getMinecraftAngles(Vec3 direction) {
@@ -178,10 +178,10 @@ public static ItemStack putIntoInv(ItemStack stack, LevelAccessor level, BlockPo
if(level != null && blockPos != null && level.getBlockState(blockPos).getBlock() instanceof WorldlyContainerHolder holder) {
handler = new SidedInvWrapper(holder.getContainer(level.getBlockState(blockPos), level, blockPos), face);
} else if(tile != null) {
- LazyOptional opt = tile.getCapability(ForgeCapabilities.ITEM_HANDLER, face);
+ /*LazyOptional opt = tile.getCapability(ForgeCapabilities.ITEM_HANDLER, face);
if(opt.isPresent())
handler = opt.orElse(new ItemStackHandler());
- else if(tile instanceof WorldlyContainer container)
+ else */if(tile instanceof WorldlyContainer container)
handler = new SidedInvWrapper(container, face);
else if(tile instanceof Container container)
handler = new InvWrapper(container);
@@ -209,7 +209,7 @@ public static BlockState fromString(String key) {
//gets rid of lambdas that could contain references to blockstate properties we might not have
public static BlockBehaviour.Properties copyPropertySafe(BlockBehaviour blockBehaviour) {
- BlockBehaviour.Properties p = BlockBehaviour.Properties.copy(blockBehaviour);
+ BlockBehaviour.Properties p = BlockBehaviour.Properties.ofFullCopy(blockBehaviour);
p.lightLevel(s -> 0);
p.offsetType(BlockBehaviour.OffsetType.NONE);
p.mapColor(blockBehaviour.defaultMapColor());
diff --git a/src/main/java/org/violetmoon/zeta/util/handler/RequiredModTooltipHandler.java b/src/main/java/org/violetmoon/zeta/util/handler/RequiredModTooltipHandler.java
index 509e24a..1563c38 100644
--- a/src/main/java/org/violetmoon/zeta/util/handler/RequiredModTooltipHandler.java
+++ b/src/main/java/org/violetmoon/zeta/util/handler/RequiredModTooltipHandler.java
@@ -62,7 +62,7 @@ public void onTooltip(ZItemTooltip event) {
if(ITEMS.containsKey(item)) {
String mod = ITEMS.get(item);
if (!z.isModLoaded(mod)) {
- event.getToolTip().add(Component.translatable("quark.misc.mod_disabled", mod).withStyle(ChatFormatting.GRAY));
+ event.getToolTip().add(Component.translatable("quark.misc.mod_disabled", mod).withStyle(ChatFormatting.GRAY)); //todo: Quark reference
}
}
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/ForgeZeta.java b/src/main/java/org/violetmoon/zetaimplforge/ForgeZeta.java
index 1b419c7..e4102e6 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/ForgeZeta.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/ForgeZeta.java
@@ -35,6 +35,9 @@
import net.neoforged.neoforge.event.furnace.FurnaceFuelBurnTimeEvent;
import net.neoforged.neoforge.event.level.BlockEvent;
import net.neoforged.neoforge.event.level.NoteBlockEvent;
+import net.neoforged.neoforge.event.tick.LevelTickEvent;
+import net.neoforged.neoforge.event.tick.PlayerTickEvent;
+import net.neoforged.neoforge.event.tick.ServerTickEvent;
import net.neoforged.neoforge.event.village.VillagerTradesEvent;
import net.neoforged.neoforge.event.village.WandererTradesEvent;
import net.neoforged.neoforge.registries.RegisterEvent;
@@ -247,7 +250,7 @@ public void start(IEventBus modbus) {
NeoForge.EVENT_BUS.addListener(this::rightClickItem);
NeoForge.EVENT_BUS.addListener(this::livingDeath);
NeoForge.EVENT_BUS.addListener(EventPriority.LOWEST, this::livingDeathLowest);
- NeoForge.EVENT_BUS.addListener(this::livingTick);
+ //NeoForge.EVENT_BUS.addListener(this::livingTick);
NeoForge.EVENT_BUS.addListener(this::playNoteBlock);
NeoForge.EVENT_BUS.addListener(this::lootTableLoad);
NeoForge.EVENT_BUS.addListener(this::livingConversion);
@@ -282,10 +285,10 @@ public void start(IEventBus modbus) {
NeoForge.EVENT_BUS.addListener(this::playerInteractRightClickItem);
NeoForge.EVENT_BUS.addListener(this::playerDestroyItem);
NeoForge.EVENT_BUS.addListener(this::mobSpawn);
- NeoForge.EVENT_BUS.addListener(this::mobSpawnFinalizeSpawn);
- NeoForge.EVENT_BUS.addListener(this::mobSpawnFinalizeSpawnLowest);
+ //NeoForge.EVENT_BUS.addListener(this::mobSpawnFinalizeSpawn);
+ //NeoForge.EVENT_BUS.addListener(this::mobSpawnFinalizeSpawnLowest);
NeoForge.EVENT_BUS.addListener(this::livingChangeTarget);
- NeoForge.EVENT_BUS.addListener(this::sleepingLocationCheck);
+ //NeoForge.EVENT_BUS.addListener(this::sleepingLocationCheck);
NeoForge.EVENT_BUS.addListener(this::villagerTrades);
NeoForge.EVENT_BUS.addListener(this::anvilRepair);
NeoForge.EVENT_BUS.addListener(this::player);
@@ -296,7 +299,7 @@ public void start(IEventBus modbus) {
NeoForge.EVENT_BUS.addListener(this::entityItemPickup);
NeoForge.EVENT_BUS.addListener(this::blockBreak);
NeoForge.EVENT_BUS.addListener(this::blockEntityPlace);
- NeoForge.EVENT_BUS.addListener(this::blockToolModification);
+ //NeoForge.EVENT_BUS.addListener(this::blockToolModification);
NeoForge.EVENT_BUS.addListener(this::animalTame);
NeoForge.EVENT_BUS.addListener(this::bonemeal);
NeoForge.EVENT_BUS.addListener(this::entityTeleport);
@@ -358,9 +361,9 @@ public void livingDeathLowest(LivingDeathEvent e) {
playBus.fire(new ForgeZLivingDeath.Lowest(e), ZLivingDeath.Lowest.class);
}
- public void livingTick(LivingEvent.LivingTickEvent e) {
+ /*public void livingTick(LivingEvent.LivingTickEvent e) {
playBus.fire(new ForgeZLivingTick(e), ZLivingTick.class);
- }
+ }*/
public void playNoteBlock(NoteBlockEvent.Play e) {
playBus.fire(new ForgeZPlayNoteBlock(e), ZPlayNoteBlock.class);
@@ -414,14 +417,14 @@ public void livingDropsLowest(LivingDropsEvent e) {
playBus.fire(new ForgeZLivingDrops.Lowest(e), ZLivingDrops.Lowest.class);
}
- public void playerTickStart(TickEvent.PlayerTickEvent e) {
- if (e.phase == TickEvent.Phase.START)
- playBus.fire(new ForgeZPlayerTick.Start(e), ZPlayerTick.Start.class);
+ public void playerTickStart(PlayerTickEvent e) {
+ if (e instanceof PlayerTickEvent.Pre)
+ playBus.fire(new ForgeZPlayerTick.Pre(e), ZPlayerTick.Start.class);
}
- public void playerTickEnd(TickEvent.PlayerTickEvent e) {
- if (e.phase == TickEvent.Phase.END)
- playBus.fire(new ForgeZPlayerTick.End(e), ZPlayerTick.End.class);
+ public void playerTickEnd(PlayerTickEvent e) {
+ if (e instanceof PlayerTickEvent.Post)
+ playBus.fire(new ForgeZPlayerTick.Post(e), ZPlayerTick.End.class);
}
public void babyEntitySpawn(BabyEntitySpawnEvent e) {
@@ -448,23 +451,23 @@ public void levelCaps(AttachCapabilitiesEvent e) {
playBus.fire(new ForgeZAttachCapabilities.LevelCaps(capabilityManager, e), ZAttachCapabilities.LevelCaps.class);
}*/
- public void serverTickStart(TickEvent.ServerTickEvent e) {
- if (e.phase == TickEvent.Phase.START)
- playBus.fire(new ForgeZServerTick.Start(e), ZServerTick.Start.class);
+ public void serverTickStart(ServerTickEvent e) {
+ if (e instanceof ServerTickEvent.Pre)
+ playBus.fire(new ForgeZServerTick.Pre(e), ZServerTick.Start.class);
}
- public void serverTickEnd(TickEvent.ServerTickEvent e) {
- if (e.phase == TickEvent.Phase.END)
- playBus.fire(new ForgeZServerTick.End(e), ZServerTick.End.class);
+ public void serverTickEnd(ServerTickEvent e) {
+ if (e instanceof ServerTickEvent.Post)
+ playBus.fire(new ForgeZServerTick.Post(e), ZServerTick.End.class);
}
- public void levelTickStart(TickEvent.LevelTickEvent e) {
- if (e.phase == TickEvent.Phase.START)
+ public void levelTickStart(LevelTickEvent e) {
+ if (e instanceof LevelTickEvent.Pre)
playBus.fire(new ForgeZLevelTick.Start(e), ZLevelTick.Start.class);
}
- public void levelTickEnd(TickEvent.LevelTickEvent e) {
- if (e.phase == TickEvent.Phase.END)
+ public void levelTickEnd(LevelTickEvent e) {
+ if (e instanceof LevelTickEvent.Post)
playBus.fire(new ForgeZLevelTick.End(e), ZLevelTick.End.class);
}
@@ -496,13 +499,13 @@ public void mobSpawn(MobSpawnEvent e) {
playBus.fire(new ForgeZMobSpawnEvent(e), ZMobSpawnEvent.class);
}
- public void mobSpawnFinalizeSpawn(MobSpawnEvent.FinalizeSpawn e) {
+ /*public void mobSpawnFinalizeSpawn(MobSpawnEvent.FinalizeSpawn e) {
playBus.fire(new ForgeZMobSpawnEvent.FinalizeSpawn(e), ZMobSpawnEvent.CheckSpawn.class);
}
public void mobSpawnFinalizeSpawnLowest(MobSpawnEvent.FinalizeSpawn e) {
playBus.fire(new ForgeZMobSpawnEvent.FinalizeSpawn.Lowest(e), ZMobSpawnEvent.CheckSpawn.Lowest.class);
- }
+ }*/
public void livingChangeTarget(LivingChangeTargetEvent e) {
playBus.fire(new ForgeZLivingChangeTarget(e), ZLivingChangeTarget.class);
@@ -524,9 +527,9 @@ public void blockEntityPlace(BlockEvent.EntityPlaceEvent e) {
playBus.fire(new ForgeZBlock.EntityPlace(e), ZBlock.EntityPlace.class);
}
- public void blockToolModification(BlockEvent.BlockToolModificationEvent e) {
+ /*public void blockToolModification(BlockEvent.BlockToolModificationEvent e) {
playBus.fire(new ForgeZBlock.BlockToolModification(e), ZBlock.BlockToolModification.class);
- }
+ }*/
public void animalTame(AnimalTameEvent e) {
playBus.fire(new ForgeZAnimalTame(e), ZAnimalTame.class);
@@ -584,7 +587,7 @@ public void itemTooltip(ItemTooltipEvent e) {
playBus.fire(new ForgeZItemTooltip(e), ZItemTooltip.class);
}
- public static ZResult from(Event.Result r) {
+ /*public static ZResult from(Event.Result r) {
return switch(r) {
case DENY -> ZResult.DENY;
case DEFAULT -> ZResult.DEFAULT;
@@ -598,5 +601,5 @@ public static Event.Result to(ZResult r) {
case DEFAULT -> Event.Result.DEFAULT;
case ALLOW -> Event.Result.ALLOW;
};
- }
+ }*/
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/client/ForgeZetaClient.java b/src/main/java/org/violetmoon/zetaimplforge/client/ForgeZetaClient.java
index c78d7a4..e7cf971 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/client/ForgeZetaClient.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/client/ForgeZetaClient.java
@@ -8,6 +8,7 @@
import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.core.RegistryAccess;
+import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Block;
@@ -15,22 +16,8 @@
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.fml.util.thread.EffectiveSide;
-import net.neoforged.neoforge.client.event.ClientTickEvent;
-import net.neoforged.neoforge.client.event.ContainerScreenEvent;
-import net.neoforged.neoforge.client.event.EntityRenderersEvent;
-import net.neoforged.neoforge.client.event.InputEvent;
-import net.neoforged.neoforge.client.event.ModelEvent;
-import net.neoforged.neoforge.client.event.MovementInputUpdateEvent;
-import net.neoforged.neoforge.client.event.RegisterClientReloadListenersEvent;
-import net.neoforged.neoforge.client.event.RegisterClientTooltipComponentFactoriesEvent;
-import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent;
-import net.neoforged.neoforge.client.event.RegisterKeyMappingsEvent;
-import net.neoforged.neoforge.client.event.RenderHighlightEvent;
-import net.neoforged.neoforge.client.event.RenderLivingEvent;
-import net.neoforged.neoforge.client.event.RenderPlayerEvent;
-import net.neoforged.neoforge.client.event.RenderTooltipEvent;
-import net.neoforged.neoforge.client.event.ScreenEvent;
-import net.neoforged.neoforge.client.event.ScreenshotEvent;
+import net.neoforged.neoforge.client.event.*;
+import net.neoforged.neoforge.client.gui.VanillaGuiLayers;
import net.neoforged.neoforge.common.NeoForge;
import net.neoforged.neoforge.registries.NeoForgeRegistries;
import net.neoforged.neoforge.server.ServerLifecycleHooks;
@@ -59,7 +46,7 @@
import org.violetmoon.zeta.client.event.play.ZRenderGuiOverlay;
import org.violetmoon.zeta.client.event.play.ZRenderLiving;
import org.violetmoon.zeta.client.event.play.ZRenderPlayer;
-import org.violetmoon.zeta.client.event.play.ZRenderTick;
+import org.violetmoon.zeta.client.event.play.ZRenderFrame;
import org.violetmoon.zeta.client.event.play.ZRenderTooltip;
import org.violetmoon.zeta.client.event.play.ZScreen;
import org.violetmoon.zeta.client.event.play.ZScreenshot;
@@ -81,7 +68,7 @@
import org.violetmoon.zetaimplforge.client.event.play.ForgeZRenderGuiOverlay;
import org.violetmoon.zetaimplforge.client.event.play.ForgeZRenderLiving;
import org.violetmoon.zetaimplforge.client.event.play.ForgeZRenderPlayer;
-import org.violetmoon.zetaimplforge.client.event.play.ForgeZRenderTick;
+import org.violetmoon.zetaimplforge.client.event.play.ForgeZRenderFrame;
import org.violetmoon.zetaimplforge.client.event.play.ForgeZRenderTooltip;
import org.violetmoon.zetaimplforge.client.event.play.ForgeZScreen;
import org.violetmoon.zetaimplforge.mixin.mixins.client.AccessorBlockColors;
@@ -94,16 +81,12 @@ public ForgeZetaClient(Zeta z) {
@Override
public @Nullable BlockColor getBlockColor(BlockColors bcs, Block block) {
- return NeoForgeRegistries.BLOCKS.getDelegate(block)
- .map(ref -> ((AccessorBlockColors) bcs).zeta$getBlockColors().get(ref))
- .orElse(null);
+ return ((AccessorBlockColors) bcs).zeta$getBlockColors().get(block);
}
@Override
public @Nullable ItemColor getItemColor(ItemColors ics, ItemLike itemlike) {
- return ForgeRegistries.ITEMS.getDelegate(itemlike.asItem())
- .map(ref -> ((AccessorItemColors) ics).zeta$getItemColors().get(ref))
- .orElse(null);
+ return ((AccessorItemColors) ics).zeta$getItemColors().get(itemlike);
}
@Override
@@ -132,7 +115,7 @@ public RegistryAccess hackilyGetCurrentClientLevelRegistryAccess() {
@Override
public void start() {
- IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
+ IEventBus bus = NeoForge.EVENT_BUS;
bus.addListener(this::registerBlockColors);
bus.addListener(this::registerItemColors);
@@ -242,8 +225,8 @@ public void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitio
//TODO: move ticker stuff out of forge event handlers, subscribe to them from zeta
// Also these events are a mess lol; sometimes there's 2 start/end events, sometimes there's
// one event with multiple Phases... bad
- public void renderTick(TickEvent.RenderTickEvent e) {
- playBus.fire(new ForgeZRenderTick(e), ZRenderTick.class);
+ public void renderTick(RenderFrameEvent e) {
+ playBus.fire(new ForgeZRenderFrame(e), ZRenderFrame.class);
}
boolean clientTicked = false;
@@ -289,44 +272,44 @@ public void renderContainerScreenBackground(ContainerScreenEvent.Render.Backgrou
}
//TODO: This probably should have been a PRE/POST event (just copying quark here)
- public void renderGameOverlayNeitherPreNorPost(RenderGuiOverlayEvent e) {
- if(e.getOverlay() == VanillaGuiOverlay.CROSSHAIR.type())
+ public void renderGameOverlayNeitherPreNorPost(RenderGuiLayerEvent e) {
+ if(e.getName() == VanillaGuiLayers.CROSSHAIR)
playBus.fire(new ForgeZRenderGuiOverlay.Crosshair(e), ZRenderGuiOverlay.Crosshair.class);
- else if(e.getOverlay() == VanillaGuiOverlay.HOTBAR.type())
+ else if(e.getName() == VanillaGuiLayers.HOTBAR)
playBus.fire(new ForgeZRenderGuiOverlay.Hotbar(e), ZRenderGuiOverlay.Hotbar.class);
}
- public void renderGuiOverlayPre(RenderGuiOverlayEvent.Pre e) {
- if (e.getOverlay() == VanillaGuiOverlay.HOTBAR.type())
+ public void renderGuiOverlayPre(RenderGuiLayerEvent.Pre e) {
+ if (e.getName() == VanillaGuiLayers.HOTBAR)
playBus.fire(new ForgeZRenderGuiOverlay.Hotbar.Pre(e), ZRenderGuiOverlay.Hotbar.Pre.class);
- else if (e.getOverlay() == VanillaGuiOverlay.CROSSHAIR.type())
+ else if (e.getName() == VanillaGuiLayers.CROSSHAIR)
playBus.fire(new ForgeZRenderGuiOverlay.Crosshair.Pre(e), ZRenderGuiOverlay.Crosshair.Pre.class);
- else if (e.getOverlay() == VanillaGuiOverlay.PLAYER_HEALTH.type())
+ else if (e.getName() == VanillaGuiLayers.PLAYER_HEALTH)
playBus.fire(new ForgeZRenderGuiOverlay.PlayerHealth.Pre(e), ZRenderGuiOverlay.PlayerHealth.Pre.class);
- else if (e.getOverlay() == VanillaGuiOverlay.ARMOR_LEVEL.type())
+ else if (e.getName() == VanillaGuiLayers.ARMOR_LEVEL)
playBus.fire(new ForgeZRenderGuiOverlay.ArmorLevel.Pre(e), ZRenderGuiOverlay.ArmorLevel.Pre.class);
- else if (e.getOverlay() == VanillaGuiOverlay.DEBUG_TEXT.type())
+ else if (e.getName() == VanillaGuiLayers.DEBUG_OVERLAY)
playBus.fire(new ForgeZRenderGuiOverlay.DebugText.Pre(e), ZRenderGuiOverlay.DebugText.Pre.class);
- else if (e.getOverlay() == VanillaGuiOverlay.POTION_ICONS.type())
+ else if (e.getName() == VanillaGuiLayers.EFFECTS)
playBus.fire(new ForgeZRenderGuiOverlay.PotionIcons.Pre(e), ZRenderGuiOverlay.PotionIcons.Pre.class);
- else if (e.getOverlay() == VanillaGuiOverlay.CHAT_PANEL.type())
+ else if (e.getName() == VanillaGuiLayers.CHAT)
playBus.fire(new ForgeZRenderGuiOverlay.ChatPanel.Pre(e), ZRenderGuiOverlay.ChatPanel.Pre.class);
}
- public void renderGuiOverlayPost(RenderGuiOverlayEvent.Post e) {
- if (e.getOverlay() == VanillaGuiOverlay.HOTBAR.type())
+ public void renderGuiOverlayPost(RenderGuiLayerEvent.Post e) {
+ if (e.getName() == VanillaGuiLayers.HOTBAR)
playBus.fire(new ForgeZRenderGuiOverlay.Hotbar.Post(e), ZRenderGuiOverlay.Hotbar.Post.class);
- else if (e.getOverlay() == VanillaGuiOverlay.CROSSHAIR.type())
+ else if (e.getName() == VanillaGuiLayers.CROSSHAIR)
playBus.fire(new ForgeZRenderGuiOverlay.Crosshair.Post(e), ZRenderGuiOverlay.Crosshair.Post.class);
- else if (e.getOverlay() == VanillaGuiOverlay.PLAYER_HEALTH.type())
+ else if (e.getName() == VanillaGuiLayers.PLAYER_HEALTH)
playBus.fire(new ForgeZRenderGuiOverlay.PlayerHealth.Post(e), ZRenderGuiOverlay.PlayerHealth.Post.class);
- else if (e.getOverlay() == VanillaGuiOverlay.ARMOR_LEVEL.type())
+ else if (e.getName() == VanillaGuiLayers.ARMOR_LEVEL)
playBus.fire(new ForgeZRenderGuiOverlay.ArmorLevel.Post(e), ZRenderGuiOverlay.ArmorLevel.Post.class);
- else if (e.getOverlay() == VanillaGuiOverlay.DEBUG_TEXT.type())
+ else if (e.getName() == VanillaGuiLayers.DEBUG_OVERLAY)
playBus.fire(new ForgeZRenderGuiOverlay.DebugText.Post(e), ZRenderGuiOverlay.DebugText.Post.class);
- else if (e.getOverlay() == VanillaGuiOverlay.POTION_ICONS.type())
+ else if (e.getName() == VanillaGuiLayers.EFFECTS)
playBus.fire(new ForgeZRenderGuiOverlay.PotionIcons.Post(e), ZRenderGuiOverlay.PotionIcons.Post.class);
- else if (e.getOverlay() == VanillaGuiOverlay.CHAT_PANEL.type())
+ else if (e.getName() == VanillaGuiLayers.CHAT)
playBus.fire(new ForgeZRenderGuiOverlay.ChatPanel.Post(e), ZRenderGuiOverlay.ChatPanel.Post.class);
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/client/event/load/ForgeZModel.java b/src/main/java/org/violetmoon/zetaimplforge/client/event/load/ForgeZModel.java
index 0739d40..cab0f82 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/client/event/load/ForgeZModel.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/client/event/load/ForgeZModel.java
@@ -3,6 +3,7 @@
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelManager;
+import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.resources.ResourceLocation;
import net.neoforged.neoforge.client.event.ModelEvent;
import net.neoforged.neoforge.client.model.geometry.IGeometryLoader;
@@ -19,7 +20,7 @@ public ModifyBakingResult(ModelEvent.ModifyBakingResult e) {
}
@Override
- public Map getModels() {
+ public Map getModels() {
return e.getModels();
}
@@ -42,7 +43,7 @@ public ModelManager getModelManager() {
}
@Override
- public Map getModels() {
+ public Map getModels() {
return e.getModels();
}
@@ -60,7 +61,7 @@ public RegisterAdditional(ModelEvent.RegisterAdditional e) {
}
@Override
- public void register(ResourceLocation model) {
+ public void register(ModelResourceLocation model) {
e.register(model);
}
}
@@ -73,8 +74,8 @@ public RegisterGeometryLoaders(ModelEvent.RegisterGeometryLoaders e) {
}
@Override
- public void register(String name, IGeometryLoader> loader) {
- e.register(name, loader);
+ public void register(ResourceLocation id, IGeometryLoader> loader) {
+ e.register(id, loader);
}
}
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderTick.java b/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderFrame.java
similarity index 70%
rename from src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderTick.java
rename to src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderFrame.java
index 2a9d473..a592f76 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderTick.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderFrame.java
@@ -1,9 +1,9 @@
package org.violetmoon.zetaimplforge.client.event.play;
import net.neoforged.neoforge.client.event.RenderFrameEvent;
-import org.violetmoon.zeta.client.event.play.ZRenderTick;
+import org.violetmoon.zeta.client.event.play.ZRenderFrame;
-public record ForgeZRenderTick(RenderFrameEvent e) implements ZRenderTick {
+public record ForgeZRenderFrame(RenderFrameEvent e) implements ZRenderFrame {
@Override
public float getRenderTickTime() {
return e.getPartialTick().getRealtimeDeltaTicks(); //todo: Test this
diff --git a/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderGuiOverlay.java b/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderGuiOverlay.java
index 20a4186..f5ce606 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderGuiOverlay.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/client/event/play/ForgeZRenderGuiOverlay.java
@@ -1,5 +1,7 @@
package org.violetmoon.zetaimplforge.client.event.play;
+import net.minecraft.client.DeltaTracker;
+import net.neoforged.neoforge.client.event.RenderGuiLayerEvent;
import org.violetmoon.zeta.client.event.play.ZRenderGuiOverlay;
import com.mojang.blaze3d.platform.Window;
@@ -8,15 +10,15 @@
import net.minecraft.client.gui.GuiGraphics;
public class ForgeZRenderGuiOverlay implements ZRenderGuiOverlay {
- private final RenderGuiOverlayEvent e;
+ private final RenderGuiLayerEvent e;
- public ForgeZRenderGuiOverlay(RenderGuiOverlayEvent e) {
+ public ForgeZRenderGuiOverlay(RenderGuiLayerEvent e) {
this.e = e;
}
@Override
public Window getWindow() {
- return e.getWindow();
+ return Minecraft.getInstance().getWindow();
}
@Override
@@ -25,141 +27,141 @@ public GuiGraphics getGuiGraphics() {
}
@Override
- public float getPartialTick() {
+ public DeltaTracker getPartialTick() {
return e.getPartialTick();
}
@Override
public boolean shouldDrawSurvivalElements() {
- return Minecraft.getInstance().gui instanceof ForgeGui fgui && fgui.shouldDrawSurvivalElements();
+ return Minecraft.getInstance().gameMode.canHurtPlayer();
}
@Override
public int getLeftHeight() {
- return Minecraft.getInstance().gui instanceof ForgeGui fgui ? fgui.leftHeight : 39;
+ return Minecraft.getInstance().gui.leftHeight;
}
public static class Hotbar extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.Hotbar {
- public Hotbar(RenderGuiOverlayEvent e) {
+ public Hotbar(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.Hotbar implements ZRenderGuiOverlay.Hotbar.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.Hotbar implements ZRenderGuiOverlay.Hotbar.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
}
public static class Crosshair extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.Crosshair {
- public Crosshair(RenderGuiOverlayEvent e) {
+ public Crosshair(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.Crosshair implements ZRenderGuiOverlay.Crosshair.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.Crosshair implements ZRenderGuiOverlay.Crosshair.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
}
public static class PlayerHealth extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.PlayerHealth {
- public PlayerHealth(RenderGuiOverlayEvent e) {
+ public PlayerHealth(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.PlayerHealth implements ZRenderGuiOverlay.PlayerHealth.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.PlayerHealth implements ZRenderGuiOverlay.PlayerHealth.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
}
public static class ArmorLevel extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.ArmorLevel {
- public ArmorLevel(RenderGuiOverlayEvent e) {
+ public ArmorLevel(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.ArmorLevel implements ZRenderGuiOverlay.ArmorLevel.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.ArmorLevel implements ZRenderGuiOverlay.ArmorLevel.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
}
public static class DebugText extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.DebugText {
- public DebugText(RenderGuiOverlayEvent e) {
+ public DebugText(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.DebugText implements ZRenderGuiOverlay.DebugText.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.DebugText implements ZRenderGuiOverlay.DebugText.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
}
public static class PotionIcons extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.PotionIcons {
- public PotionIcons(RenderGuiOverlayEvent e) {
+ public PotionIcons(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.PotionIcons implements ZRenderGuiOverlay.PotionIcons.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.PotionIcons implements ZRenderGuiOverlay.PotionIcons.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
}
public static class ChatPanel extends ForgeZRenderGuiOverlay implements ZRenderGuiOverlay.ChatPanel {
- public ChatPanel(RenderGuiOverlayEvent e) {
+ public ChatPanel(RenderGuiLayerEvent e) {
super(e);
}
public static class Pre extends ForgeZRenderGuiOverlay.ChatPanel implements ZRenderGuiOverlay.ChatPanel.Pre {
- public Pre(RenderGuiOverlayEvent.Pre e) {
+ public Pre(RenderGuiLayerEvent.Pre e) {
super(e);
}
}
public static class Post extends ForgeZRenderGuiOverlay.ChatPanel implements ZRenderGuiOverlay.ChatPanel.Post {
- public Post(RenderGuiOverlayEvent.Post e) {
+ public Post(RenderGuiLayerEvent.Post e) {
super(e);
}
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZBonemeal.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZBonemeal.java
index a33a10c..2dd06ff 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZBonemeal.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZBonemeal.java
@@ -37,8 +37,8 @@ public ItemStack getStack() {
}
@Override
- public ZResult getResult() {
- return ForgeZeta.from(e.isSuccessful());
+ public boolean getResult() {
+ return e.isSuccessful();
}
@Override
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZLevelTick.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZLevelTick.java
index e244f8f..6d54f44 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZLevelTick.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZLevelTick.java
@@ -1,30 +1,31 @@
package org.violetmoon.zetaimplforge.event.play;
+import net.neoforged.neoforge.event.tick.LevelTickEvent;
import org.violetmoon.zeta.event.play.ZLevelTick;
import net.minecraft.world.level.Level;
public class ForgeZLevelTick implements ZLevelTick {
- private final TickEvent.LevelTickEvent e;
+ private final LevelTickEvent e;
- public ForgeZLevelTick(TickEvent.LevelTickEvent e) {
+ public ForgeZLevelTick(LevelTickEvent e) {
this.e = e;
}
@Override
public Level getLevel() {
- return e.level;
+ return e.getLevel();
}
public static class Start extends ForgeZLevelTick implements ZLevelTick.Start {
- public Start(TickEvent.LevelTickEvent e) {
+ public Start(LevelTickEvent e) {
super(e);
}
}
public static class End extends ForgeZLevelTick implements ZLevelTick.End {
- public End(TickEvent.LevelTickEvent e) {
+ public End(LevelTickEvent e) {
super(e);
}
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZServerTick.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZServerTick.java
index 31935f2..5d4ada9 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZServerTick.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/ForgeZServerTick.java
@@ -1,13 +1,14 @@
package org.violetmoon.zetaimplforge.event.play;
+import net.neoforged.neoforge.event.tick.ServerTickEvent;
import org.violetmoon.zeta.event.play.ZServerTick;
import net.minecraft.server.MinecraftServer;
public class ForgeZServerTick implements ZServerTick {
- private final TickEvent.ServerTickEvent e;
+ private final ServerTickEvent e;
- public ForgeZServerTick(TickEvent.ServerTickEvent e) {
+ public ForgeZServerTick(ServerTickEvent e) {
this.e = e;
}
@@ -16,14 +17,14 @@ public MinecraftServer getServer() {
return e.getServer();
}
- public static class Start extends ForgeZServerTick implements ZServerTick.Start {
- public Start(TickEvent.ServerTickEvent e) {
+ public static class Pre extends ForgeZServerTick implements ZServerTick.Start {
+ public Pre(ServerTickEvent e) {
super(e);
}
}
- public static class End extends ForgeZServerTick implements ZServerTick.End {
- public End(TickEvent.ServerTickEvent e) {
+ public static class Post extends ForgeZServerTick implements ZServerTick.End {
+ public Post(ServerTickEvent e) {
super(e);
}
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/ForgeZEntityMobGriefing.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/ForgeZEntityMobGriefing.java
index e35b8a9..af34ad2 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/ForgeZEntityMobGriefing.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/ForgeZEntityMobGriefing.java
@@ -19,8 +19,8 @@ public Entity getEntity() {
}
@Override
- public ZResult getResult() {
- return ForgeZeta.from(e.getResult());
+ public boolean getResult() {
+ return true; //todo: FIX
}
@Override
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/living/ForgeZMobSpawnEvent.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/living/ForgeZMobSpawnEvent.java
index 3e3f0f5..6e1f3c2 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/living/ForgeZMobSpawnEvent.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/living/ForgeZMobSpawnEvent.java
@@ -51,7 +51,7 @@ public void setResult(ZResult value) {
e.setResult(ForgeZeta.to(value));
}*/
- public static class FinalizeSpawn extends ForgeZMobSpawnEvent implements ZMobSpawnEvent.CheckSpawn {
+ /*public static class FinalizeSpawn extends ForgeZMobSpawnEvent implements ZMobSpawnEvent.CheckSpawn {
private final MobSpawnEvent.FinalizeSpawn e;
public FinalizeSpawn(MobSpawnEvent.FinalizeSpawn e) {
@@ -74,5 +74,5 @@ public Lowest(MobSpawnEvent.FinalizeSpawn e) {
super(e);
}
}
- }
+ }*/
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZPlayerTick.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZPlayerTick.java
index 5295d89..7343cab 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZPlayerTick.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZPlayerTick.java
@@ -1,29 +1,30 @@
package org.violetmoon.zetaimplforge.event.play.entity.player;
+import net.neoforged.neoforge.event.tick.PlayerTickEvent;
import org.violetmoon.zeta.event.play.entity.player.ZPlayerTick;
import net.minecraft.world.entity.player.Player;
public abstract class ForgeZPlayerTick implements ZPlayerTick {
- private final TickEvent.PlayerTickEvent e;
+ private final PlayerTickEvent e;
- protected ForgeZPlayerTick(TickEvent.PlayerTickEvent e) {
+ protected ForgeZPlayerTick(PlayerTickEvent e) {
this.e = e;
}
@Override
public Player getPlayer() {
- return e.player;
+ return e.getEntity();
}
- public static class Start extends ForgeZPlayerTick implements ZPlayerTick.Start {
- public Start(TickEvent.PlayerTickEvent e) {
+ public static class Pre extends ForgeZPlayerTick implements ZPlayerTick.Start {
+ public Pre(PlayerTickEvent e) {
super(e);
}
}
- public static class End extends ForgeZPlayerTick implements ZPlayerTick.End {
- public End(TickEvent.PlayerTickEvent e) {
+ public static class Post extends ForgeZPlayerTick implements ZPlayerTick.End {
+ public Post(PlayerTickEvent e) {
super(e);
}
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZRightClickBlock.java b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZRightClickBlock.java
index aed501c..d8be924 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZRightClickBlock.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/event/play/entity/player/ForgeZRightClickBlock.java
@@ -8,6 +8,7 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.BlockHitResult;
+import net.neoforged.neoforge.common.util.TriState;
import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import org.violetmoon.zeta.event.bus.ZResult;
import org.violetmoon.zeta.event.play.entity.player.ZRightClickBlock;
@@ -56,8 +57,8 @@ public Direction getFace() {
}
@Override
- public ZResult getUseBlock() {
- return ForgeZeta.from(e.getUseBlock());
+ public TriState getUseBlock() {
+ return e.getUseBlock();
}
@Override
@@ -76,8 +77,8 @@ public void setCanceled(boolean cancel) {
}
@Override
- public ZResult getResult() {
- return ForgeZeta.from(e.getResult());
+ public boolean getResult() {
+ return e.getCancellationResult();
}
@Override
diff --git a/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorBlockColors.java b/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorBlockColors.java
index 3d44cc5..bf54945 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorBlockColors.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorBlockColors.java
@@ -12,8 +12,7 @@
@Mixin(BlockColors.class)
public interface AccessorBlockColors {
-
@Accessor("blockColors")
- Map, BlockColor> zeta$getBlockColors();
+ Map zeta$getBlockColors();
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorItemColors.java b/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorItemColors.java
index 76b3997..51fa0e9 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorItemColors.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/mixin/mixins/client/AccessorItemColors.java
@@ -12,8 +12,7 @@
@Mixin(ItemColors.class)
public interface AccessorItemColors {
-
@Accessor("itemColors")
- Map, ItemColor> zeta$getItemColors();
+ Map
- zeta$getItemColors();
}
diff --git a/src/main/java/org/violetmoon/zetaimplforge/registry/ForgeBrewingRegistry.java b/src/main/java/org/violetmoon/zetaimplforge/registry/ForgeBrewingRegistry.java
index 15244a3..f6db9c8 100644
--- a/src/main/java/org/violetmoon/zetaimplforge/registry/ForgeBrewingRegistry.java
+++ b/src/main/java/org/violetmoon/zetaimplforge/registry/ForgeBrewingRegistry.java
@@ -1,6 +1,8 @@
package org.violetmoon.zetaimplforge.registry;
import net.minecraft.core.Holder;
+import net.minecraft.world.flag.FeatureFlagSet;
+import net.minecraft.world.item.Item;
import net.minecraft.world.item.alchemy.Potion;
import net.minecraft.world.item.alchemy.PotionBrewing;
import net.minecraft.world.item.crafting.Ingredient;
@@ -19,16 +21,16 @@ public ForgeBrewingRegistry(ForgeZeta zeta) {
super(zeta);
}
- private record DelayedPotion(Holder input, Supplier reagentSupplier, Holder output) {
+ private record DelayedPotion(Holder input, Item reagentSupplier, Holder output) {
void register() {
- AccessorPotionBrewing.zeta$getPotionMixes().add(new PotionBrewing.Mix<>(input, reagentSupplier.get(), output));
+ new PotionBrewing.Builder(FeatureFlagSet.of()).addMix(input, reagentSupplier, output);
}
}
private List delayedPotions = new ArrayList<>();
private boolean okToRegisterImmediately = false;
@Override
- public void addBrewingRecipe(Potion input, Supplier reagentSupplier, Potion output) {
+ public void addBrewingRecipe(Potion input, Item reagentSupplier, Potion output) {
DelayedPotion d = new DelayedPotion(Holder.direct(input), reagentSupplier, Holder.direct(output));
if(okToRegisterImmediately)