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
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import net.modificationstation.stationapi.api.event.entity.EntityRegister;
import net.modificationstation.stationapi.api.event.registry.EntityHandlerRegistryEvent;
import net.modificationstation.stationapi.api.event.registry.MobHandlerRegistryEvent;
import net.modificationstation.stationapi.api.registry.Registry;

import static net.modificationstation.sltest.SLTest.NAMESPACE;
import static net.modificationstation.stationapi.api.util.Identifier.of;
Expand All @@ -19,11 +18,11 @@ public void registerEntities(EntityRegister event) {

@EventListener
public void registerEntityHandlers(EntityHandlerRegistryEvent event) {
Registry.register(event.registry, TestEntity.ID, TestEntity::new);
event.register(TestEntity.ID, TestEntity::new);
}

@EventListener
public void registerMobHandlers(MobHandlerRegistryEvent event) {
Registry.register(event.registry, of(NAMESPACE, "gpoor"), PoorGuy::new);
event.register(of(NAMESPACE, "gpoor"), PoorGuy::new);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,15 @@
import net.modificationstation.sltest.SLTest;
import net.modificationstation.sltest.tileentity.TileEntityFreezer;
import net.modificationstation.stationapi.api.client.gui.screen.GuiHandler;
import net.modificationstation.stationapi.api.client.registry.GuiHandlerRegistry;
import net.modificationstation.stationapi.api.event.registry.GuiHandlerRegistryEvent;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.util.Identifier;

public class GuiListener {

@Environment(EnvType.CLIENT)
@EventListener
public void registerGuiHandlers(GuiHandlerRegistryEvent event) {
GuiHandlerRegistry registry = event.registry;
Registry.register(registry, Identifier.of(SLTest.NAMESPACE, "freezer"), new GuiHandler((GuiHandler.ScreenFactoryNoMessage) this::openFreezer, TileEntityFreezer::new));
event.register(Identifier.of(SLTest.NAMESPACE, "freezer"), new GuiHandler((GuiHandler.ScreenFactoryNoMessage) this::openFreezer, TileEntityFreezer::new));
}

@Environment(EnvType.CLIENT)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import net.modificationstation.stationapi.api.item.tool.ToolMaterialFactory;
import net.modificationstation.stationapi.api.registry.BlockRegistry;
import net.modificationstation.stationapi.api.registry.ItemRegistry;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.tag.TagKey;
import net.modificationstation.stationapi.api.template.item.BlockStateItem;

Expand All @@ -34,8 +33,8 @@ public void registerItems(ItemRegistryEvent event) {
testPickaxe = new ModdedPickaxeItem(NAMESPACE.id("test_pickaxe"), testMaterial).setTranslationKey(NAMESPACE, "testPickaxe"); //8476
testNBTItem = new NBTItem(NAMESPACE.id("nbt_item")).setTranslationKey(NAMESPACE, "nbt_item"); //8477
testModelItem = new ModelItem(NAMESPACE.id("model_item")).setMaxCount(1).setTranslationKey(NAMESPACE, "idkSomething");
ironOre = Registry.register(event.registry, NAMESPACE.id("ironOre"), new Item(ItemRegistry.AUTO_ID)).setTranslationKey(NAMESPACE.id("ironOre"));
generatedItem = Registry.register(event.registry, NAMESPACE.id("generated_item"), new Item(ItemRegistry.AUTO_ID)).setTranslationKey(NAMESPACE.id("generatedItem"));
ironOre = event.register(NAMESPACE.id("ironOre"), new Item(ItemRegistry.AUTO_ID)).setTranslationKey(NAMESPACE.id("ironOre"));
generatedItem = event.register(NAMESPACE.id("generated_item"), new Item(ItemRegistry.AUTO_ID)).setTranslationKey(NAMESPACE.id("generatedItem"));
variationBlockIdle = new BlockStateItem(NAMESPACE.id("variation_block_idle"), Blocks.VARIATION_BLOCK.get().getDefaultState()).setTranslationKey(NAMESPACE, "variationBlockIdle");
variationBlockPassive = new BlockStateItem(NAMESPACE.id("variation_block_passive"), Blocks.VARIATION_BLOCK.get().getDefaultState().with(VariationBlock.VARIANT, VariationBlock.Variant.PASSIVE)).setTranslationKey(NAMESPACE, "variationBlockPassive");
variationBlockActive = new BlockStateItem(NAMESPACE.id("variation_block_active"), Blocks.VARIATION_BLOCK.get().getDefaultState().with(VariationBlock.VARIANT, VariationBlock.Variant.ACTIVE)).setTranslationKey(NAMESPACE, "variationBlockActive");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,14 @@
import net.modificationstation.sltest.item.ModdedItem;
import net.modificationstation.stationapi.api.event.registry.MessageListenerRegistryEvent;
import net.modificationstation.stationapi.api.network.packet.MessagePacket;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.util.Identifier;

import java.util.function.BiConsumer;

public class MessageListenerListener {

@EventListener
public void registerMessageListeners(MessageListenerRegistryEvent event) {
Registry<BiConsumer<PlayerEntity, MessagePacket>> registry = event.registry;
Registry.register(registry, Identifier.of(SLTest.NAMESPACE, "give_me_diamonds"), this::handleGiveMeDiamonds);
Registry.register(registry, Identifier.of(SLTest.NAMESPACE, "send_an_object"), this::handleSendCoords);
event.register(SLTest.NAMESPACE)
.accept("give_me_diamonds", this::handleGiveMeDiamonds)
.accept("send_an_object", this::handleSendCoords);
}

public void handleGiveMeDiamonds(PlayerEntity playerBase, MessagePacket message) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package net.modificationstation.stationapi.api.util.function;

import org.jetbrains.annotations.Contract;

import java.util.function.BiConsumer;

public interface BulkBiConsumer<A, B> {
@Contract(pure = true)
static <A, B> BulkBiConsumer<A, B> of(BiConsumer<A, B> sink) {
interface BulkBiConsumerImpl<A, B> extends BulkBiConsumer<A, B> {
@Contract(pure = true)
private static <A, B> BulkBiConsumerImpl<A, B> of(BiConsumer<A, B> sink) {
return () -> sink;
}

BiConsumer<A, B> getSink();

@Override
default BulkBiConsumer<A, B> accept(A a, B b) {
getSink().accept(a, b);
return this;
}
}
return BulkBiConsumerImpl.of(sink);
}

BulkBiConsumer<A, B> accept(A a, B b);
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package net.modificationstation.stationapi.api.event.registry;

import net.mine_diver.unsafeevents.event.EventPhases;
import net.minecraft.item.Item;
import net.modificationstation.stationapi.api.StationAPI;
import net.modificationstation.stationapi.api.registry.ItemRegistry;

@EventPhases(StationAPI.INTERNAL_PHASE)
public class BlockItemRegistryEvent extends RegistryEvent<ItemRegistry> {
public class BlockItemRegistryEvent extends RegistryEvent.EntryTypeBound<Item, ItemRegistry> {
public BlockItemRegistryEvent() {
super(ItemRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package net.modificationstation.stationapi.api.event.registry;

import net.modificationstation.stationapi.api.client.gui.screen.GuiHandler;
import net.modificationstation.stationapi.api.client.registry.GuiHandlerRegistry;

public class GuiHandlerRegistryEvent extends RegistryEvent<GuiHandlerRegistry> {
public class GuiHandlerRegistryEvent extends RegistryEvent.EntryTypeBound<GuiHandler, GuiHandlerRegistry> {
public GuiHandlerRegistryEvent() {
super(GuiHandlerRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import net.modificationstation.stationapi.api.mod.entrypoint.Entrypoint;
import net.modificationstation.stationapi.api.mod.entrypoint.EventBusPolicy;
import net.modificationstation.stationapi.api.network.packet.MessagePacket;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.util.Identifier;

import java.lang.invoke.MethodHandles;
Expand All @@ -30,7 +29,7 @@ public final class GuiClientNetworkHandler {

@EventListener
private static void registerMessageListeners(MessageListenerRegistryEvent event) {
Registry.register(event.registry, NAMESPACE.id("open_gui"), GuiClientNetworkHandler::handleGui);
event.register(NAMESPACE.id("open_gui"), GuiClientNetworkHandler::handleGui);
StationAPI.EVENT_BUS.post(new GuiHandlerRegistryEvent());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

import net.mine_diver.unsafeevents.event.EventPhases;
import net.modificationstation.stationapi.api.StationAPI;
import net.modificationstation.stationapi.api.registry.DimensionContainer;
import net.modificationstation.stationapi.api.registry.DimensionRegistry;

@EventPhases(StationAPI.INTERNAL_PHASE)
public class DimensionRegistryEvent extends RegistryEvent<DimensionRegistry> {
public class DimensionRegistryEvent extends RegistryEvent.EntryTypeBound<DimensionContainer<?>, DimensionRegistry> {
public DimensionRegistryEvent() {
super(DimensionRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package net.modificationstation.stationapi.api.event.registry;

import net.modificationstation.stationapi.api.client.entity.factory.EntityWorldAndPosFactory;
import net.modificationstation.stationapi.api.client.registry.EntityHandlerRegistry;

public class EntityHandlerRegistryEvent extends RegistryEvent<EntityHandlerRegistry> {
public class EntityHandlerRegistryEvent extends RegistryEvent.EntryTypeBound<EntityWorldAndPosFactory, EntityHandlerRegistry> {
public EntityHandlerRegistryEvent() {
super(EntityHandlerRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package net.modificationstation.stationapi.api.event.registry;

import net.minecraft.entity.LivingEntity;
import net.minecraft.world.World;
import net.modificationstation.stationapi.api.client.registry.MobHandlerRegistry;

public class MobHandlerRegistryEvent extends RegistryEvent<MobHandlerRegistry> {
import java.util.function.Function;

public class MobHandlerRegistryEvent extends RegistryEvent.EntryTypeBound<Function<World, LivingEntity>, MobHandlerRegistry> {
public MobHandlerRegistryEvent() {
super(MobHandlerRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import net.modificationstation.stationapi.api.mod.entrypoint.Entrypoint;
import net.modificationstation.stationapi.api.mod.entrypoint.EventBusPolicy;
import net.modificationstation.stationapi.api.network.packet.MessagePacket;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.server.entity.StationSpawnDataProvider;
import net.modificationstation.stationapi.mixin.entity.client.ClientNetworkHandlerAccessor;

Expand All @@ -45,9 +44,9 @@ public final class EntityClientNetworkHandler {

@EventListener
private static void registerMessageListeners(MessageListenerRegistryEvent event) {
Registry.register(event.registry, NAMESPACE.id("spawn_entity"), EntityClientNetworkHandler::handleEntitySpawn);
event.register(NAMESPACE.id("spawn_entity"), EntityClientNetworkHandler::handleEntitySpawn);
StationAPI.EVENT_BUS.post(new EntityHandlerRegistryEvent());
Registry.register(event.registry, NAMESPACE.id("spawn_mob"), EntityClientNetworkHandler::handleMobSpawn);
event.register(NAMESPACE.id("spawn_mob"), EntityClientNetworkHandler::handleMobSpawn);
StationAPI.EVENT_BUS.post(new MobHandlerRegistryEvent());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import net.modificationstation.stationapi.api.event.registry.BlockRegistryEvent;
import net.modificationstation.stationapi.api.mod.entrypoint.Entrypoint;
import net.modificationstation.stationapi.api.mod.entrypoint.EventBusPolicy;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.util.collection.IdList;

import java.lang.invoke.MethodHandles;
Expand All @@ -35,6 +34,6 @@ public final class States {

@EventListener
private static void registerBlocks(BlockRegistryEvent event) {
Registry.register(event.registry, of("air"), AIR_BLOCK.get());
event.register(of("air"), AIR_BLOCK.get());
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package net.modificationstation.stationapi.api.event.registry;

import net.mine_diver.unsafeevents.event.EventPhases;
import net.minecraft.block.Block;
import net.modificationstation.stationapi.api.StationAPI;
import net.modificationstation.stationapi.api.registry.BlockRegistry;

@EventPhases(StationAPI.INTERNAL_PHASE)
public class BlockRegistryEvent extends RegistryEvent<BlockRegistry> {
public class BlockRegistryEvent extends RegistryEvent.EntryTypeBound<Block, BlockRegistry> {
public BlockRegistryEvent() {
super(BlockRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package net.modificationstation.stationapi.api.event.registry;

import net.mine_diver.unsafeevents.event.EventPhases;
import net.minecraft.item.Item;
import net.modificationstation.stationapi.api.StationAPI;
import net.modificationstation.stationapi.api.registry.ItemRegistry;

@EventPhases(StationAPI.INTERNAL_PHASE)
public class ItemRegistryEvent extends RegistryEvent<ItemRegistry> {
public class ItemRegistryEvent extends RegistryEvent.EntryTypeBound<Item, ItemRegistry> {
public ItemRegistryEvent() {
super(ItemRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ public class StationFlatteningNetworkingImpl implements ModInitializer {
public void onInitialize() {

// Registering packets for flattened save format
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/chunk_data"), FlattenedChunkDataS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/multi_block_change"), FlattenedMultiBlockChangeS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/block_change"), FlattenedBlockChangeS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/chunk_section_data"), FlattenedChunkSectionDataS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE)
.accept("flattening/chunk_data", FlattenedChunkDataS2CPacket.TYPE)
.accept("flattening/multi_block_change", FlattenedMultiBlockChangeS2CPacket.TYPE)
.accept("flattening/block_change", FlattenedBlockChangeS2CPacket.TYPE)
.accept("flattening/chunk_section_data", FlattenedChunkSectionDataS2CPacket.TYPE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@
public class StationItemsNetworkingImpl implements ModInitializer {
@Override
public void onInitialize() {
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/slot"), StationClickSlotC2SPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/equipment"), StationEntityEquipmentUpdateS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/inventory"), StationInventoryS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/entity_spawn"), StationItemEntitySpawnS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/interact"), StationPlayerInteractBlockC2SPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/slot_update"), StationScreenHandlerSlotUpdateS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE)
.accept("items/slot", StationClickSlotC2SPacket.TYPE)
.accept("items/equipment", StationEntityEquipmentUpdateS2CPacket.TYPE)
.accept("items/inventory", StationInventoryS2CPacket.TYPE)
.accept("items/entity_spawn", StationItemEntitySpawnS2CPacket.TYPE)
.accept("items/interact", StationPlayerInteractBlockC2SPacket.TYPE)
.accept("items/slot_update", StationScreenHandlerSlotUpdateS2CPacket.TYPE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* @author mine_diver
*/
@EventPhases(StationAPI.INTERNAL_PHASE)
public class MessageListenerRegistryEvent extends RegistryEvent<Registry<BiConsumer<PlayerEntity, MessagePacket>>> {
public class MessageListenerRegistryEvent extends RegistryEvent.EntryTypeBound<BiConsumer<PlayerEntity, MessagePacket>, Registry<BiConsumer<PlayerEntity, MessagePacket>>> {
public MessageListenerRegistryEvent() {
super(MessageListenerRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@
import net.modificationstation.stationapi.api.StationAPI;
import net.modificationstation.stationapi.api.registry.JsonRecipeParserRegistry;

import java.net.URL;
import java.util.function.Consumer;

@EventPhases(StationAPI.INTERNAL_PHASE)
public class JsonRecipeParserRegistryEvent extends RegistryEvent<JsonRecipeParserRegistry> {
public class JsonRecipeParserRegistryEvent extends RegistryEvent.EntryTypeBound<Consumer<URL>, JsonRecipeParserRegistry> {
public JsonRecipeParserRegistryEvent() {
super(JsonRecipeParserRegistry.INSTANCE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import net.modificationstation.stationapi.api.recipe.SmeltingRegistry;
import net.modificationstation.stationapi.api.registry.JsonRecipeParserRegistry;
import net.modificationstation.stationapi.api.registry.JsonRecipesRegistry;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.api.util.Namespace;

import java.io.BufferedReader;
import java.io.IOException;
Expand All @@ -26,8 +26,6 @@
import java.util.function.Consumer;
import java.util.function.Function;

import static net.modificationstation.stationapi.api.util.Identifier.of;

@Entrypoint(eventBus = @EventBusPolicy(registerInstance = false))
@EventListener(phase = StationAPI.INTERNAL_PHASE)
public class JsonRecipeParserInit {
Expand All @@ -37,9 +35,10 @@ public class JsonRecipeParserInit {

@EventListener
private static void registerJsonRecipeParsers(JsonRecipeParserRegistryEvent event) {
Registry.register(event.registry, of("crafting_shaped"), JsonRecipeParserInit::parseCraftingShaped);
Registry.register(event.registry, of("crafting_shapeless"), JsonRecipeParserInit::parseCraftingShapeless);
Registry.register(event.registry, of("smelting"), JsonRecipeParserInit::parseSmelting);
event.register(Namespace.MINECRAFT)
.accept("crafting_shaped", JsonRecipeParserInit::parseCraftingShaped)
.accept("crafting_shapeless", JsonRecipeParserInit::parseCraftingShapeless)
.accept("smelting", JsonRecipeParserInit::parseSmelting);
}

@EventListener
Expand Down
Loading