more refactoring

This commit is contained in:
GiantLuigi4 2023-06-08 14:01:15 -04:00
parent 55be33ac44
commit be68ca40f0
9 changed files with 80 additions and 66 deletions

View File

@ -142,8 +142,6 @@ public class WebDisplays {
onRegisterSounds();
BlockInit.init(bus);
ItemInit.init(bus);
ItemInit.registerUpgrade();
ItemInit.registerComponents();
TileInit.init(bus);
PROXY.preInit();
@ -264,7 +262,7 @@ public class WebDisplays {
if(!ev.getEntity().getLevel().isClientSide) {
ItemStack is = ev.getEntity().getItem();
if(is.getItem() == ItemInit.itemMinePad.get()) {
if(is.getItem() == ItemInit.MINEPAD.get()) {
CompoundTag tag = is.getTag();
if(tag == null) {
@ -282,7 +280,7 @@ public class WebDisplays {
@SubscribeEvent
public void onPlayerCraft(PlayerEvent.ItemCraftedEvent ev) {
if(CommonConfig.hardRecipes && ev.getCrafting().getItem() == ItemInit.itemCraftComp.get() && (CraftComponent.EXTCARD.makeItemStack().is(ev.getCrafting().getItem()))) {
if(CommonConfig.hardRecipes && ItemInit.isCompCraftItem(ev.getCrafting().getItem()) && (CraftComponent.EXTCARD.makeItemStack().is(ev.getCrafting().getItem()))) {
if((ev.getEntity() instanceof ServerPlayer && !hasPlayerAdvancement((ServerPlayer) ev.getEntity(), ADV_PAD_BREAK)) || PROXY.hasClientPlayerAdvancement(ADV_PAD_BREAK) != HasAdvancement.YES) {
ev.getCrafting().setDamageValue(CraftComponent.BADEXTCARD.ordinal());

View File

@ -758,10 +758,10 @@ public class ClientProxy extends SharedProxy implements IDisplayHandler, IJSQuer
Item item = ev.getItemStack().getItem();
IItemRenderer renderer;
if(ItemInit.itemMinePad.isPresent() && ItemInit.itemLaserPointer.isPresent()) {
if (item == ItemInit.itemMinePad.get())
if(ItemInit.MINEPAD.isPresent() && ItemInit.LASER_POINTER.isPresent()) {
if (item == ItemInit.MINEPAD.get())
renderer = minePadRenderer;
else if (item == ItemInit.itemLaserPointer.get())
else if (item == ItemInit.LASER_POINTER.get())
renderer = laserPointerRenderer;
else
return;
@ -801,8 +801,8 @@ public class ClientProxy extends SharedProxy implements IDisplayHandler, IJSQuer
for (int i = 0; i < cnt; i++) {
ItemStack item = inv.get(i);
if (ItemInit.itemMinePad.isPresent()) {
if (item.getItem() == ItemInit.itemMinePad.get()) {
if (ItemInit.MINEPAD.isPresent()) {
if (item.getItem() == ItemInit.MINEPAD.get()) {
CompoundTag tag = item.getTag();
if (tag != null && tag.contains("PadID"))

View File

@ -38,7 +38,7 @@ public final class LaserPointerRenderer implements IItemRenderer {
ClientProxy.mouseOn ||
ItemLaserPointer.isOn()
) &&
mc.player.getItemInHand(InteractionHand.MAIN_HAND).getItem().equals(ItemInit.itemLaserPointer.get()) &&
mc.player.getItemInHand(InteractionHand.MAIN_HAND).getItem().equals(ItemInit.LASER_POINTER.get()) &&
(mc.hitResult == null || mc.hitResult.getType() == HitResult.Type.BLOCK || mc.hitResult.getType() == HitResult.Type.MISS);
}

View File

@ -5,11 +5,9 @@
package net.montoyo.wd.core;
import net.minecraft.world.item.ItemStack;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.init.ItemInit;
public enum CraftComponent {
STONEKEY("stonekey", "StoneKey"),
UPGRADE("upgrade", "Upgrade"),
PERIPHERAL("peripheral", "Peripheral"),
@ -34,7 +32,6 @@ public enum CraftComponent {
}
public ItemStack makeItemStack() {
return new ItemStack(ItemInit.itemCraftComp.get(), 1);
return new ItemStack(ItemInit.getComputerCraftItem(ordinal()).get(), 1);
}
}

View File

@ -5,17 +5,16 @@
package net.montoyo.wd.core;
import net.minecraft.world.item.ItemStack;
import net.montoyo.wd.init.ItemInit;
import net.montoyo.wd.item.ItemUpgrade;
public enum DefaultUpgrade {
LASERMOUSE("lasermouse", "LaserMouse"),
REDINPUT("redinput", "RedInput"),
REDOUTPUT("redoutput", "RedOutput"),
GPS("gps", "GPS");
private final String name;
private final String wikiName;
public final String name;
public final String wikiName;
DefaultUpgrade(String n, String wn) {
name = n;
@ -27,19 +26,25 @@ public enum DefaultUpgrade {
return name;
}
protected static boolean matches(ItemStack stack, DefaultUpgrade upgrade) {
if (stack.getItem() instanceof ItemUpgrade upgrade1)
return upgrade1.type == upgrade;
return false;
}
public boolean matchesLaserMouse(ItemStack is) {
return is.getItem() == ItemInit.laserMouse.get();
return matches(is, LASERMOUSE);
}
public boolean matchesRedInput(ItemStack is) {
return is.getItem() == ItemInit.redInput.get();
return matches(is, REDINPUT);
}
public boolean matchesRedOutput(ItemStack is) {
return is.getItem() == ItemInit.redOutput.get();
return matches(is, REDOUTPUT);
}
public boolean matchesGps(ItemStack is) {
return is.getItem() == ItemInit.gps.get();
return matches(is, GPS);
}
}

View File

@ -503,7 +503,7 @@ public class TileEntityScreen extends BlockEntity {
private static Player getLaserUser(Screen scr) {
if (scr.laserUser != null) {
if (scr.laserUser.isRemoved() || !scr.laserUser.getItemInHand(InteractionHand.MAIN_HAND).getItem().equals(ItemInit.itemLaserPointer.get()))
if (scr.laserUser.isRemoved() || !scr.laserUser.getItemInHand(InteractionHand.MAIN_HAND).getItem().equals(ItemInit.LASER_POINTER.get()))
scr.laserUser = null;
}

View File

@ -7,54 +7,63 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.block.WDBlockContainer;
import net.montoyo.wd.block.item.KeyboardItem;
import net.montoyo.wd.core.CraftComponent;
import net.montoyo.wd.core.DefaultUpgrade;
import net.montoyo.wd.item.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@SuppressWarnings({"unchecked", "unused"})
public class ItemInit{
public static void init(IEventBus bus) {
ITEMS.register(bus);
}
public static DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, "webdisplays");
public static RegistryObject<Item> itemCraftComp = null;
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, "webdisplays");
public static RegistryObject<Item> laserMouse = null;
public static RegistryObject<Item> redInput = null;
public static RegistryObject<Item> redOutput = null;
public static RegistryObject<Item> gps = null;
protected static final RegistryObject<Item>[] COMP_CRAFT_ITEMS = new RegistryObject[CraftComponent.values().length];
protected static final RegistryObject<Item>[] UPGRADE_ITEMS = new RegistryObject[DefaultUpgrade.values().length];
public static final RegistryObject<Item> itemScreenCfg = ITEMS.register("screencfg", () -> new ItemScreenConfigurator(new Item.Properties()));
public static final RegistryObject<Item> itemOwnerThief = ITEMS.register("ownerthief", () -> new ItemOwnershipThief(new Item.Properties()));
public static final RegistryObject<Item> itemLinker = ITEMS.register("linker", () -> new ItemLinker(new Item.Properties()));
public static final RegistryObject<Item> itemMinePad = ITEMS.register("minepad", () -> new ItemMinePad2(new Item.Properties()));
public static final RegistryObject<Item> itemLaserPointer = ITEMS.register("laserpointer", () -> new ItemLaserPointer(new Item.Properties()));
public static final RegistryObject<Item> CONFIGURATOR = ITEMS.register("screencfg", () -> new ItemScreenConfigurator(new Item.Properties()));
public static final RegistryObject<Item> OWNERSHIP_THEIF = ITEMS.register("ownerthief", () -> new ItemOwnershipThief(new Item.Properties()));
public static final RegistryObject<Item> LINKER = ITEMS.register("linker", () -> new ItemLinker(new Item.Properties()));
public static final RegistryObject<Item> MINEPAD = ITEMS.register("minepad", () -> new ItemMinePad2(new Item.Properties()));
public static final RegistryObject<Item> LASER_POINTER = ITEMS.register("laserpointer", () -> new ItemLaserPointer(new Item.Properties()));
public static void registerUpgrade() {
laserMouse = ITEMS.register("upgrade_" + DefaultUpgrade.LASERMOUSE.name().toLowerCase(Locale.ROOT), ItemUpgrade::new);
redInput = ITEMS.register("upgrade_" + DefaultUpgrade.REDINPUT.name().toLowerCase(Locale.ROOT), ItemUpgrade::new);
redOutput = ITEMS.register("upgrade_" + DefaultUpgrade.REDOUTPUT.name().toLowerCase(Locale.ROOT), ItemUpgrade::new);
gps = ITEMS.register("upgrade_" + DefaultUpgrade.GPS.name().toLowerCase(Locale.ROOT), ItemUpgrade::new);
}
public static void registerComponents() {
for (CraftComponent cc : CraftComponent.values()) {
itemCraftComp = ITEMS.register("craftcomp_" + cc.name().toLowerCase(Locale.ROOT), () -> new ItemCraftComponent(new Item.Properties()));
static {
DefaultUpgrade[] defaultUpgrades = DefaultUpgrade.values();
for (int i = 0; i < defaultUpgrades.length; i++) {
DefaultUpgrade upgrade = defaultUpgrades[i];
UPGRADE_ITEMS[i] = ITEMS.register("upgrade_" + upgrade.name().toLowerCase(Locale.ROOT), () -> new ItemUpgrade(upgrade));
}
CraftComponent[] components = CraftComponent.values();
for (int i = 0; i < components.length; i++) {
CraftComponent cc = components[i];
COMP_CRAFT_ITEMS[i] = ITEMS.register("craftcomp_" + cc.name().toLowerCase(Locale.ROOT), () -> new ItemCraftComponent(new Item.Properties()));
}
}
public static final RegistryObject<Item> screen = ITEMS.register("screen", () -> new BlockItem(BlockInit.blockScreen.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> keyboard = ITEMS.register("keyboard", () -> new KeyboardItem(BlockInit.blockKeyBoard.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> redctrl = ITEMS.register("redctrl", () -> new BlockItem(BlockInit.blockRedControl.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> rctrl = ITEMS.register("rctrl", () -> new BlockItem(BlockInit.blockRControl.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> server = ITEMS.register("server", () -> new BlockItem(BlockInit.blockServer.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> SCREEN = ITEMS.register("screen", () -> new BlockItem(BlockInit.blockScreen.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> KEYBOARD = ITEMS.register("keyboard", () -> new KeyboardItem(BlockInit.blockKeyBoard.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> REDSTONE_CONTROLLER = ITEMS.register("redctrl", () -> new BlockItem(BlockInit.blockRedControl.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> REMOTE_CONTROLLER = ITEMS.register("rctrl", () -> new BlockItem(BlockInit.blockRControl.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static final RegistryObject<Item> SERVER = ITEMS.register("server", () -> new BlockItem(BlockInit.blockServer.get(), new Item.Properties().tab(WebDisplays.CREATIVE_TAB)));
public static RegistryObject<Item> getComputerCraftItem(int index) {
return COMP_CRAFT_ITEMS[index];
}
public static RegistryObject<Item> getUpgradeItem(int index) {
return UPGRADE_ITEMS[index];
}
public static boolean isCompCraftItem(Item item) {
for (RegistryObject<Item> itemRegistryObject : COMP_CRAFT_ITEMS)
if (item == itemRegistryObject.get())
return true;
return false;
}
}

View File

@ -5,6 +5,7 @@
package net.montoyo.wd.item;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.montoyo.wd.WebDisplays;
import net.montoyo.wd.core.DefaultUpgrade;
@ -17,9 +18,11 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class ItemUpgrade extends ItemMulti implements IUpgrade, WDItem {
public ItemUpgrade() {
public final DefaultUpgrade type;
public ItemUpgrade(DefaultUpgrade type) {
super(DefaultUpgrade.class, new Properties().tab(WebDisplays.CREATIVE_TAB));
this.type = type;
}
@Override
@ -36,18 +39,20 @@ public class ItemUpgrade extends ItemMulti implements IUpgrade, WDItem {
@Override
public boolean isSameUpgrade(@Nonnull ItemStack myStack, @Nonnull ItemStack otherStack) {
return otherStack.getItem() == this;
if (myStack.getItem() instanceof ItemUpgrade upgrade0) {
if (otherStack.getItem() instanceof ItemUpgrade upgrade1) {
return upgrade0.type == upgrade1.type;
}
}
return false;
}
@Override
public String getJSName(@Nonnull ItemStack is) {
ItemStack meta = is;
DefaultUpgrade[] upgrades = DefaultUpgrade.values();
if(meta.isEmpty())
return "webdisplays:wtf";
else
return "webdisplays:" + is;
Item item = is.getItem();
if (item instanceof ItemUpgrade upgrade)
return "webdisplays:" + upgrade.type.toString();
return "webdisplays:null";
}
@Override

View File

@ -24,7 +24,7 @@ public class MouseHandlerMixin {
if (Minecraft.getInstance().screen == null) {
if (
minecraft.player != null && minecraft.level != null &&
minecraft.player.getItemInHand(InteractionHand.MAIN_HAND).getItem().equals(ItemInit.itemLaserPointer.get()) &&
minecraft.player.getItemInHand(InteractionHand.MAIN_HAND).getItem().equals(ItemInit.LASER_POINTER.get()) &&
(minecraft.hitResult == null || minecraft.hitResult.getType() == HitResult.Type.BLOCK || minecraft.hitResult.getType() == HitResult.Type.MISS)
) {
ItemLaserPointer.press(flag, p_91532_);