mirror of
https://github.com/architectury/architectury-api.git
synced 2026-04-02 21:47:40 -05:00
Port to 1.20.6 (#494)
* Begin port to 1.20.6 * Port to 1.20.6 * decrease diff * Fix Creative Tab Ordering * add test for creative tab ordering * change up test * add github actions build for 1.20.6 * fix some outdated things in the github actions * use the mod bus instead of the neoforge bus when registering menu screens * update versions in `build.gradle` * change to 20.6.70-beta * require 20.6.70 * this doesn't need fabric Signed-off-by: shedaniel <daniel@shedaniel.me> --------- Signed-off-by: shedaniel <daniel@shedaniel.me> Co-authored-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
@@ -122,7 +122,7 @@ unifiedPublishing {
|
||||
displayName = "[NeoForge $rootProject.supported_version] v$project.version"
|
||||
releaseType = "$rootProject.artifact_type"
|
||||
changelog = releaseChangelog()
|
||||
gameVersions = ["1.20.5"]
|
||||
gameVersions = ["1.20.6"]
|
||||
gameLoaders = ["neoforge"]
|
||||
mainPublication renameJarForPublication
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
package dev.architectury.core.item.forge.imitator;
|
||||
|
||||
import dev.architectury.hooks.fluid.FluidBucketHooks;
|
||||
import dev.architectury.platform.hooks.EventBusesHooks;
|
||||
import dev.architectury.utils.ArchitecturyConstants;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
@@ -49,6 +50,6 @@ public class ArchitecturyBucketItem extends BucketItem {
|
||||
}
|
||||
|
||||
public final Fluid getContainedFluid() {
|
||||
return getFluid();
|
||||
return FluidBucketHooks.getFluid(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,9 +46,9 @@ import net.neoforged.neoforge.event.tick.ServerTickEvent;
|
||||
import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent;
|
||||
import net.neoforged.neoforge.event.entity.item.ItemTossEvent;
|
||||
import net.neoforged.neoforge.event.entity.living.AnimalTameEvent;
|
||||
import net.neoforged.neoforge.event.entity.living.FinalizeSpawnEvent;
|
||||
import net.neoforged.neoforge.event.entity.living.LivingAttackEvent;
|
||||
import net.neoforged.neoforge.event.entity.living.LivingDeathEvent;
|
||||
import net.neoforged.neoforge.event.entity.living.MobSpawnEvent;
|
||||
import net.neoforged.neoforge.event.entity.player.*;
|
||||
import net.neoforged.neoforge.event.entity.player.PlayerEvent.*;
|
||||
import net.neoforged.neoforge.event.level.BlockEvent.BreakEvent;
|
||||
@@ -268,8 +268,8 @@ public class EventHandlerImplCommon {
|
||||
// }
|
||||
|
||||
@SubscribeEvent(priority = EventPriority.HIGH)
|
||||
public static void eventLivingSpawnEvent(MobSpawnEvent.FinalizeSpawn event) {
|
||||
EventResult result = EntityEvent.LIVING_CHECK_SPAWN.invoker().canSpawn(event.getEntity(), event.getLevel(), event.getX(), event.getY(), event.getZ(), event.getSpawnType(), event.getSpawner());
|
||||
public static void eventLivingSpawnEvent(FinalizeSpawnEvent event) {
|
||||
EventResult result = EntityEvent.LIVING_CHECK_SPAWN.invoker().canSpawn(event.getEntity(), event.getLevel(), event.getX(), event.getY(), event.getZ(), event.getSpawnType(), null);//TODO FIX: , event.getSpawner());
|
||||
if (result.interruptsFurtherEvaluation()) {
|
||||
if (!result.isEmpty()) {
|
||||
event.setSpawnCancelled(result.value());
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
|
||||
package dev.architectury.hooks.fluid.forge;
|
||||
|
||||
import dev.architectury.mixin.forge.neoforge.BucketItemAccessor;
|
||||
import net.minecraft.world.item.BucketItem;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
|
||||
public class FluidBucketHooksImpl {
|
||||
public static Fluid getFluid(BucketItem item) {
|
||||
return item.getFluid();
|
||||
return ((BucketItemAccessor) item).getContent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* This file is part of architectury.
|
||||
* Copyright (C) 2020, 2021, 2022 architectury
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
package dev.architectury.mixin.forge.neoforge;
|
||||
|
||||
import net.minecraft.world.item.BucketItem;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
@Mixin(BucketItem.class)
|
||||
public interface BucketItemAccessor {
|
||||
@Accessor("content")
|
||||
Fluid getContent();
|
||||
}
|
||||
@@ -176,6 +176,12 @@ public class CreativeTabRegistryImpl {
|
||||
if (after.isEmpty()) {
|
||||
entries.put(stack, visibility);
|
||||
} else {
|
||||
for (Map.Entry<ItemStack, CreativeModeTab.TabVisibility> entry : entries) {
|
||||
if (ItemStack.isSameItemSameComponents(entry.getKey(), after)) {
|
||||
after = entry.getKey();
|
||||
break;
|
||||
}
|
||||
}
|
||||
entries.putAfter(after, stack, visibility);
|
||||
}
|
||||
}
|
||||
@@ -185,6 +191,12 @@ public class CreativeTabRegistryImpl {
|
||||
if (before.isEmpty()) {
|
||||
entries.put(stack, visibility);
|
||||
} else {
|
||||
for (Map.Entry<ItemStack, CreativeModeTab.TabVisibility> entry : entries) {
|
||||
if (ItemStack.isSameItemSameComponents(entry.getKey(), before)) {
|
||||
before = entry.getKey();
|
||||
break;
|
||||
}
|
||||
}
|
||||
entries.putBefore(before, stack, visibility);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,12 @@
|
||||
|
||||
package dev.architectury.registry.menu.forge;
|
||||
|
||||
import dev.architectury.platform.hooks.EventBusesHooks;
|
||||
import dev.architectury.registry.menu.ExtendedMenuProvider;
|
||||
import dev.architectury.registry.menu.MenuRegistry.ExtendedMenuTypeFactory;
|
||||
import dev.architectury.registry.menu.MenuRegistry.ScreenFactory;
|
||||
import dev.architectury.registry.menu.MenuRegistry.SimpleMenuTypeFactory;
|
||||
import dev.architectury.utils.ArchitecturyConstants;
|
||||
import net.minecraft.client.gui.screens.MenuScreens;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.gui.screens.inventory.MenuAccess;
|
||||
@@ -32,6 +34,8 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
|
||||
import net.minecraft.world.inventory.MenuType;
|
||||
import net.neoforged.api.distmarker.Dist;
|
||||
import net.neoforged.api.distmarker.OnlyIn;
|
||||
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent;
|
||||
import net.neoforged.neoforge.common.NeoForge;
|
||||
import net.neoforged.neoforge.common.extensions.IMenuTypeExtension;
|
||||
|
||||
public class MenuRegistryImpl {
|
||||
@@ -48,8 +52,11 @@ public class MenuRegistryImpl {
|
||||
return IMenuTypeExtension.create(factory::create);
|
||||
}
|
||||
|
||||
@SuppressWarnings("CodeBlock2Expr") // It's neater this way
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public static <H extends AbstractContainerMenu, S extends Screen & MenuAccess<H>> void registerScreenFactory(MenuType<? extends H> type, ScreenFactory<H, S> factory) {
|
||||
MenuScreens.register(type, factory::create);
|
||||
EventBusesHooks.whenAvailable(ArchitecturyConstants.MOD_ID, bus -> {
|
||||
bus.addListener(RegisterMenuScreensEvent.class, event -> event.register(type, factory::create));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,14 +17,14 @@ license = "LGPL-3"
|
||||
[[dependencies.architectury]]
|
||||
modId = "minecraft"
|
||||
type = "required"
|
||||
versionRange = "[1.20.5,)"
|
||||
versionRange = "[1.20.6,)"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
|
||||
[[dependencies.architectury]]
|
||||
modId = "neoforge"
|
||||
type = "required"
|
||||
versionRange = "[20.5.0-beta,)"
|
||||
versionRange = "[20.6.70-beta,)"
|
||||
ordering = "NONE"
|
||||
side = "BOTH"
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"MixinMinecraft"
|
||||
],
|
||||
"mixins": [
|
||||
"neoforge.BucketItemAccessor",
|
||||
"neoforge.LiquidBlockAccessor",
|
||||
"neoforge.MixinChunkSerializer",
|
||||
"MixinFallingBlockEntity",
|
||||
|
||||
Reference in New Issue
Block a user