Skip to content

Commit

Permalink
Backport to 1.18.2
Browse files Browse the repository at this point in the history
  • Loading branch information
zeng-github01 committed Nov 6, 2024
1 parent 8132e68 commit 846ed08
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 30 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ repositories {

dependencies {
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
implementation fg.deobf("curse.maven:refined-storage-243076:4844585")
implementation fg.deobf("curse.maven:refined-storage-243076:4902316")

}

Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
mc_version=1.20.1
mc_version=1.18.2
mod_version=2.3.2
mapping_channel=official
forge_version=47.3.1
forge_version=40.2.0
7 changes: 7 additions & 0 deletions src/main/java/com/zengyj/exposer/Exposer.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,11 @@
@Mod(Constants.Mod_ID)
public class Exposer {
public static final Logger LOGGER = LogManager.getLogger(Constants.Mod_ID);

public static final CreativeModeTab TAB = new CreativeModeTab(Constants.Mod_ID) {
@Override
public ItemStack makeIcon() {
return new ItemStack(Registry.EXPOSER_ITEM.get());
}
};
}
13 changes: 2 additions & 11 deletions src/main/java/com/zengyj/exposer/Registry.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

import com.zengyj.exposer.block.BlockExposer;
import com.zengyj.exposer.tile.TileExposer;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.*;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
Expand All @@ -17,17 +15,11 @@
public class Registry {
private static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, Constants.Mod_ID);
private static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Constants.Mod_ID);
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, Constants.Mod_ID);
public static final DeferredRegister<CreativeModeTab> CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, Constants.Mod_ID);
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITIES, Constants.Mod_ID);

public static final RegistryObject<Block> EXPOSER = BLOCKS.register("exposer", BlockExposer::new);
public static final RegistryObject<Item> EXPOSER_ITEM = ITEMS.register("exposer", () -> new BlockItem(EXPOSER.get(),new Item.Properties()));
public static final RegistryObject<Item> EXPOSER_ITEM = ITEMS.register("exposer", () -> new BlockItem(EXPOSER.get(),new Item.Properties().tab(Exposer.TAB)));

public static final RegistryObject<CreativeModeTab> TAB = CREATIVE_TABS.register("exposer", ()->
CreativeModeTab.builder().withTabsBefore(CreativeModeTabs.SPAWN_EGGS)
.icon(()-> new ItemStack(EXPOSER.get())).displayItems((itemDisplayParameters, output) -> {
output.accept(EXPOSER_ITEM.get());
}).title(Component.translatable("exposer.modid")).build());

public static final RegistryObject<BlockEntityType<TileExposer>> EXPOSER_TYPE = BLOCK_ENTITY_TYPES.register("requester", () -> BlockEntityType.Builder
.of(TileExposer::new, Registry.EXPOSER.get())
Expand All @@ -36,7 +28,6 @@ public class Registry {
static {
BLOCKS.register(FMLJavaModLoadingContext.get().getModEventBus());
ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus());
CREATIVE_TABS.register(FMLJavaModLoadingContext.get().getModEventBus());
BLOCK_ENTITY_TYPES.register(FMLJavaModLoadingContext.get().getModEventBus());
}
}
21 changes: 5 additions & 16 deletions src/main/java/com/zengyj/exposer/tile/TileExposer.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.refinedmods.refinedstorage.RSBlockEntities;
import com.refinedmods.refinedstorage.blockentity.NetworkNodeBlockEntity;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.zengyj.exposer.Exposer;
import com.zengyj.exposer.Registry;
import com.zengyj.exposer.node.NetworkNodeExposer;
Expand All @@ -11,10 +10,11 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.common.util.NonNullSupplier;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
Expand All @@ -25,42 +25,35 @@ public class TileExposer extends NetworkNodeBlockEntity<NetworkNodeExposer> {
private NonNullSupplier<IItemHandler> itemSupplier;
private NonNullSupplier<IFluidHandler> fluidSupplier;

public static BlockEntitySynchronizationSpec SPEC;

public TileExposer(BlockPos pos, BlockState state) {
super(Registry.EXPOSER_TYPE.get(), pos, state, SPEC);
// Exposer.LOGGER.info("Creating TileExposer");
super(Registry.EXPOSER_TYPE.get(), pos, state);
}


@NonNull
@Override
public <T> LazyOptional<T> getCapability(@NonNull Capability<T> cap, @Nullable Direction direction) {
if (cap == ForgeCapabilities.ITEM_HANDLER){
// Exposer.LOGGER.info("Start expose item handler");
if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){
if (itemSupplier != null){
// Exposer.LOGGER.info("expose exist item handler");
return (LazyOptional<T>) LazyOptional.of(itemSupplier);
}

if (getNode().getItemHandler() == null){
// Exposer.LOGGER.info("return empty item handler");
return LazyOptional.empty();
}

itemSupplier = new NonNullSupplier<>() {
@NonNull
@Override
public IItemHandler get() {
// Exposer.LOGGER.info("get expose item handler");
return getNode().getItemHandler();
}
};

return (LazyOptional<T>) LazyOptional.of(itemSupplier);
}

if (cap == ForgeCapabilities.FLUID_HANDLER){
if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){
if (fluidSupplier != null){
return (LazyOptional<T>) LazyOptional.of(fluidSupplier);
}
Expand All @@ -87,8 +80,4 @@ public IFluidHandler get() {
public NetworkNodeExposer createNode(Level level, BlockPos blockPos) {
return new NetworkNodeExposer(level,blockPos);
}

static {
SPEC = BlockEntitySynchronizationSpec.builder().build();
}
}

0 comments on commit 846ed08

Please sign in to comment.