Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ jobs:
MAVEN_URL: ${{ secrets.maven_url }}
MAVEN_USERNAME: ${{ secrets.maven_user }}
MAVEN_PASSWORD: ${{ secrets.maven_pass }}
continue-on-error: true

- name: capture maven artifacts
uses: actions/upload-artifact@v7
Expand All @@ -148,3 +147,4 @@ jobs:
env:
CURSEFORGE_TOKEN: ${{ secrets.curseforge_token }}
MODRINTH_TOKEN: ${{ secrets.modrinth_token }}
continue-on-error: true
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
import org.joml.Vector3dc;
import org.joml.Vector3f;
import org.joml.Vector3fc;
import org.jetbrains.annotations.ApiStatus;

import static dev.anvilcraft.lib.v2.collision.AnvilLibCollision.intersectsAABBTriangle;
import static dev.anvilcraft.lib.v2.collision.AnvilLibCollision.overlapOnAxis;
import static dev.anvilcraft.lib.v2.collision.AnvilLibCollision.sweptCollisionAABBTriangle;

@ApiStatus.Internal
public class CollisionTest {

static void main() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package dev.anvilcraft.lib.v2.config;

import org.jetbrains.annotations.ApiStatus;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
Expand All @@ -12,6 +14,7 @@

double max() default Double.POSITIVE_INFINITY;

@ApiStatus.Internal
class Util {
public static int minInt(BoundedDiscrete annotation) {
if (annotation.min() == Double.NEGATIVE_INFINITY) return Integer.MIN_VALUE;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package dev.anvilcraft.lib.v2.config;

import net.neoforged.neoforge.common.ModConfigSpec;
import org.jetbrains.annotations.ApiStatus;

import javax.annotation.Nullable;
import java.lang.reflect.AccessFlag;
import java.lang.reflect.Field;

@ApiStatus.Internal
public record ConfigField(
Object object,
Field field,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import net.neoforged.neoforge.client.gui.ConfigurationScreen;
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
import net.neoforged.neoforge.common.ModConfigSpec;
import org.jetbrains.annotations.ApiStatus;

import java.lang.reflect.Field;
import java.util.HashMap;
Expand Down Expand Up @@ -58,6 +59,7 @@ public static <T> T register(String modId, Supplier<T> configFactory) {
return config;
}

@ApiStatus.Internal
public <T> T register(T configObj) {
Class<?> configClass = configObj.getClass();
ModConfigSpec.Builder builder = new ModConfigSpec.Builder();
Expand All @@ -78,10 +80,12 @@ public <T> T register(T configObj) {
return configObj;
}

@ApiStatus.Internal
public void register(IEventBus bus) {
bus.register(this);
}

@ApiStatus.Internal
@SubscribeEvent
public void onModConstruct(FMLConstructModEvent event) {
ModContainer container = ModLoadingContext.get().getActiveContainer();
Expand All @@ -95,11 +99,13 @@ public void onModConstruct(FMLConstructModEvent event) {
}
}

@ApiStatus.Internal
@SubscribeEvent
public void loading(ModConfigEvent event) {
this.configSpecMap.values().forEach(ConfigRecord::load);
}

@ApiStatus.Internal
public void registerScreen(ModContainer container) {
container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new);
}
Expand Down Expand Up @@ -135,6 +141,7 @@ private static void register(
}
}

@ApiStatus.Internal
public static ModConfigSpec.ConfigValue<?> define(ModConfigSpec.Builder builder, String name, Field field, Object object) {
return switch (object) {
case Number num -> ConfigManager.defineInRange(builder, name, field, num);
Expand All @@ -145,10 +152,12 @@ public static ModConfigSpec.ConfigValue<?> define(ModConfigSpec.Builder builder,
}

@SuppressWarnings("unchecked")
@ApiStatus.Internal
public static <E extends Enum<E>> ModConfigSpec.EnumValue<E> defineEnum(ModConfigSpec.Builder builder, String name, Enum<?> enumValue) {
return builder.defineEnum(name, (E) enumValue);
}

@ApiStatus.Internal
public static ModConfigSpec.ConfigValue<?> defineInRange(ModConfigSpec.Builder builder, String name, Field field, Number number) {
if (field.isAnnotationPresent(BoundedDiscrete.class)) {
BoundedDiscrete discrete = field.getAnnotation(BoundedDiscrete.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import net.neoforged.fml.config.ModConfig;
import net.neoforged.neoforge.common.ModConfigSpec;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Unmodifiable;

import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;

@ApiStatus.Internal
public record ConfigRecord(
String group,
String modId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.event.OnDatapackSyncEvent;
import net.neoforged.neoforge.event.server.ServerStartedEvent;
import org.jetbrains.annotations.ApiStatus;

import java.util.List;
import java.util.Map;
Expand All @@ -36,10 +37,15 @@ public class AnvilLibExplosion {
public static final AnvilLibExplosionConfig CONFIG = ConfigManager.register(MOD_ID, AnvilLibExplosionConfig::new);
public static final Map<Block, Block> MELTING_CACHE = new ConcurrentHashMap<>();

@ApiStatus.Internal
public AnvilLibExplosion() {
}

public static Identifier of(String path) {
return Identifier.fromNamespaceAndPath(AnvilLibExplosion.MAIN_ID, path);
}

@ApiStatus.Internal
@SubscribeEvent
public static void onDatapackSync(OnDatapackSyncEvent event) {
if (event.getPlayer() != null) {
Expand All @@ -48,6 +54,7 @@ public static void onDatapackSync(OnDatapackSyncEvent event) {
AnvilLibExplosion.registerMelting(event.getPlayerList().getServer());
}

@ApiStatus.Internal
@SubscribeEvent
public static void onServerStarted(ServerStartedEvent event) {
AnvilLibExplosion.registerMelting(event.getServer());
Expand Down Expand Up @@ -95,4 +102,4 @@ private static void registerAbstractCookingRecipe(AbstractCookingRecipe recipe)
MELTING_CACHE.put(blockInput, blockOutput);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import net.neoforged.neoforge.common.NeoForge;
import net.neoforged.neoforge.event.tick.ServerTickEvent;
import org.apache.logging.log4j.util.TriConsumer;
import org.jetbrains.annotations.ApiStatus;
import org.jspecify.annotations.Nullable;

import java.util.ArrayList;
Expand All @@ -37,6 +38,7 @@
* <p>Uses dynamic layer-by-layer generation with virtual thread pre-computation
* to avoid memory issues with large radii and improve performance through async processing.
*/
@ApiStatus.Internal
class ExplosionSession {
// Shared virtual thread executor for async layer pre-computation
private static final Executor THREAD_EXECUTOR = Executors.newWorkStealingPool();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.data.event.GatherDataEvent;
import org.jetbrains.annotations.ApiStatus;

@EventBusSubscriber(modid = AnvilLibExplosion.MOD_ID)
@ApiStatus.Internal
public class AnvilLibDatagen {
@SubscribeEvent
public static void gatherData(GatherDataEvent.Client event) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import dev.anvilcraft.lib.v2.explosion.AnvilLibExplosionConfig;
import net.minecraft.data.PackOutput;
import net.neoforged.neoforge.common.data.LanguageProvider;
import org.jetbrains.annotations.ApiStatus;

@ApiStatus.Internal
public class ModLanguageProvider extends LanguageProvider {
public ModLanguageProvider(PackOutput output) {
super(output, AnvilLibExplosion.MOD_ID, "en_us");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

import net.minecraft.world.item.ItemStackTemplate;
import net.minecraft.world.item.crafting.SingleItemRecipe;
import org.jetbrains.annotations.ApiStatus;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

@Mixin(SingleItemRecipe.class)
@ApiStatus.Internal
public interface SingleItemRecipeAccessor {
@Accessor
ItemStackTemplate getResult();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
import org.jetbrains.annotations.ApiStatus;

import java.awt.Font;
import java.util.List;
Expand All @@ -19,6 +20,7 @@ public class AnvilLibFont {
public static final String MOD_ID = "anvillib_font";
public static final AnvilLibFontConfig CONFIG = new AnvilLibFontConfig();

@ApiStatus.Internal
public AnvilLibFont(ModContainer container) {
AnvilLibFontConfig.AnvilLibFontConfigManager.readConfig(AnvilLibFont.CONFIG);
container.registerExtensionPoint(IConfigScreenFactory.class, FontConfigScreen::new);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import net.neoforged.fml.loading.moddiscovery.ModInfo;
import org.jetbrains.annotations.ApiStatus;

import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
Expand All @@ -14,6 +15,7 @@
@Slf4j
@Getter
@EqualsAndHashCode
@ApiStatus.Internal
public final class IntegrationInstance {
private final String modid;
private final ModVersionRange versionRange;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.jetbrains.annotations.ApiStatus;

import javax.annotation.Nullable;

@Slf4j
@Getter
@ApiStatus.Internal
public class ModVersionRange {
public static final ModVersionRange ANY = new ModVersionRange(null) {
@Override
Expand Down
3 changes: 3 additions & 0 deletions module.main/src/main/java/dev/anvilcraft/lib/v2/AnvilLib.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
package dev.anvilcraft.lib.v2;

import org.jetbrains.annotations.ApiStatus;

@ApiStatus.Internal
public class AnvilLib {
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package dev.anvilcraft.lib.v2.piston;

import com.mojang.logging.LogUtils;
import org.jetbrains.annotations.ApiStatus;
import org.slf4j.Logger;

@ApiStatus.Internal
public class AnvilLibMoveableEntityBlock {
public static final String MAIN_ID = "anvillib";
public static final Logger LOGGER = LogUtils.getLogger();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
import org.jetbrains.annotations.ApiStatus;

@Mod(AnvilLibMultiblock.MOD_ID)
@EventBusSubscriber(modid = AnvilLibMultiblock.MOD_ID)
Expand All @@ -21,13 +22,15 @@ public class AnvilLibMultiblock {
AnvilLibMultiblockConfig::new
);

@ApiStatus.Internal
public AnvilLibMultiblock(IEventBus modEventBus, ModContainer modContainer) {
}

public static Identifier of(String path) {
return Identifier.fromNamespaceAndPath(MAIN_ID, path);
}

@ApiStatus.Internal
@SubscribeEvent
public static void onNetwork(RegisterPayloadHandlersEvent event) {
PayloadRegistrar registrar = event.registrar("1");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.data.event.GatherDataEvent;
import org.jetbrains.annotations.ApiStatus;

@EventBusSubscriber(modid = AnvilLibMultiblock.MOD_ID)
@ApiStatus.Internal
public class AnvilLibDatagen {
@SubscribeEvent
public static void gatherData(GatherDataEvent.Client event) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import dev.anvilcraft.lib.v2.multiblock.AnvilLibMultiblockConfig;
import net.minecraft.data.PackOutput;
import net.neoforged.neoforge.common.data.LanguageProvider;
import org.jetbrains.annotations.ApiStatus;

@ApiStatus.Internal
public class ModLanguageProvider extends LanguageProvider {
public ModLanguageProvider(PackOutput output) {
super(output, AnvilLibMultiblock.MOD_ID, "en_us");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
import net.neoforged.neoforge.event.level.block.BreakBlockEvent;
import net.neoforged.neoforge.event.server.ServerStoppedEvent;
import net.neoforged.neoforge.event.tick.LevelTickEvent;
import org.jetbrains.annotations.ApiStatus;

@EventBusSubscriber(modid = AnvilLibMultiblock.MOD_ID)
@ApiStatus.Internal
public class BlockEventListener {
@SubscribeEvent
public static void onPlace(BlockEvent.EntityPlaceEvent event) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.registries.DataPackRegistryEvent;
import org.jetbrains.annotations.ApiStatus;

@EventBusSubscriber(modid = AnvilLibMultiblock.MOD_ID)
public class LibRegistries {
public static final ResourceKey<Registry<MultiblockDefinition>> DEFINITIONS_KEY = ResourceKey.createRegistryKey(
AnvilLibMultiblock.of("definitions")
);

@ApiStatus.Internal
@SubscribeEvent
public static void registerDataRegistries(DataPackRegistryEvent.NewRegistry event) {
event.dataPackRegistry(DEFINITIONS_KEY, MultiblockDefinition.CODEC.codec(), MultiblockDefinition.CODEC.codec());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.neoforged.neoforge.common.NeoForge;
import org.jetbrains.annotations.ApiStatus;

@Slf4j
@SuppressWarnings("unused")
@ApiStatus.Internal
public record MultiblockFormPacket(MultiblockState state) implements IClientboundPacket {
public static final Type<MultiblockFormPacket> TYPE = IPacket.type(AnvilLibMultiblock.of("multiblock_form"));
public static final StreamCodec<RegistryFriendlyByteBuf, MultiblockFormPacket> STREAM_CODEC = StreamCodec.composite(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.neoforged.neoforge.common.NeoForge;
import org.jetbrains.annotations.ApiStatus;

@Slf4j
@SuppressWarnings("unused")
@ApiStatus.Internal
public record MultiblockUnformPacket(MultiblockState state) implements IClientboundPacket {
public static final Type<MultiblockUnformPacket> TYPE = IPacket.type(AnvilLibMultiblock.of("multiblock_unform"));
public static final StreamCodec<RegistryFriendlyByteBuf, MultiblockUnformPacket> STREAM_CODEC = StreamCodec.composite(
Expand Down
Loading
Loading