From 43006b993f39cedb2c04594c907d94f8f6286813 Mon Sep 17 00:00:00 2001 From: Caedis Date: Sat, 16 Jul 2022 12:11:00 -0500 Subject: [PATCH] Drop GTCE support, only support GTCEu. (#6) * Drop GTCE support, only support GTCEu. * Not in place yet * Revert gtceu check in default rules * remove gtce mixins * upadte gitignore * provide bansoukou files for gtce * fix gtceu dep name Co-authored-by: brachy84 --- .gitignore | 3 + .../gregtech/api/gui/ModularUI.class | Bin 0 -> 6619 bytes .../api/gui/impl/ModularUIContainer.class | Bin 0 -> 17417 bytes .../api/gui/widgets/SortableSlotWidget.class | Bin 0 -> 1670 bytes .../storage/MetaTileEntityChest.class | Bin 0 -> 16017 bytes build.gradle | 2 +- .../com/cleanroommc/bogosorter/LateMixin.java | 6 +- .../bogosorter/common/sort/DefaultRules.java | 2 + .../bogosorter/mixin/gtce/MixinChest.java | 71 ------------------ .../bogosorter/mixin/gtce/MixinModularUI.java | 28 ------- .../mixin/gtce/MixinModularUIContainer.java | 49 ------------ ...json => mixin.bogosorter.gregtechceu.json} | 5 +- 12 files changed, 10 insertions(+), 156 deletions(-) create mode 100644 bansoukou/gregtech-1.12.2-1.17.1.770/gregtech/api/gui/ModularUI.class create mode 100644 bansoukou/gregtech-1.12.2-1.17.1.770/gregtech/api/gui/impl/ModularUIContainer.class create mode 100644 bansoukou/gregtech-1.12.2-1.17.1.770/gregtech/api/gui/widgets/SortableSlotWidget.class create mode 100644 bansoukou/gregtech-1.12.2-1.17.1.770/gregtech/common/metatileentities/storage/MetaTileEntityChest.class delete mode 100644 src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinChest.java delete mode 100644 src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUI.java delete mode 100644 src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUIContainer.java rename src/main/resources/{mixin.bogosorter.gregtechce.json => mixin.bogosorter.gregtechceu.json} (55%) diff --git a/.gitignore b/.gitignore index 2c770e09..f5f9913a 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,6 @@ build # other eclipse run + +.shelf +logs diff --git a/bansoukou/gregtech-1.12.2-1.17.1.770/gregtech/api/gui/ModularUI.class b/bansoukou/gregtech-1.12.2-1.17.1.770/gregtech/api/gui/ModularUI.class new file mode 100644 index 0000000000000000000000000000000000000000..a1025e49fa67462af00c0ae4cb646cbc39dcc832 GIT binary patch literal 6619 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 modMixins = ImmutableList.of("ironchest", "thermalexpansion", "enderio", "gregtechce"); + public static final List modMixins = ImmutableList.of("ironchest", "thermalexpansion", "enderio", "gregtechceu"); @Override public List getMixinConfigs() { @@ -23,8 +23,8 @@ public boolean shouldMixinConfigQueue(String mixinConfig) { } public boolean shouldEnableModMixin(String mod) { - if ("gregtechce".equals(mod)) { - return BogoSorter.isGTCELoaded(); + if ("gregtechceu".equals(mod)) { + return BogoSorter.isGTCEuLoaded(); } return Loader.isModLoaded(mod); } diff --git a/src/main/java/com/cleanroommc/bogosorter/common/sort/DefaultRules.java b/src/main/java/com/cleanroommc/bogosorter/common/sort/DefaultRules.java index ae0096e9..09e8ebcd 100644 --- a/src/main/java/com/cleanroommc/bogosorter/common/sort/DefaultRules.java +++ b/src/main/java/com/cleanroommc/bogosorter/common/sort/DefaultRules.java @@ -1,5 +1,6 @@ package com.cleanroommc.bogosorter.common.sort; +import com.cleanroommc.bogosorter.BogoSorter; import com.cleanroommc.bogosorter.api.IBogoSortAPI; import com.cleanroommc.bogosorter.api.SortType; import net.minecraft.nbt.NBTBase; @@ -29,6 +30,7 @@ public static void init(IBogoSortAPI api) { api.registerNbtSortingRule("enchantment_book", "StoredEnchantments", Constants.NBT.TAG_LIST, ItemCompareHelper::compareEnchantments, nbtBase -> (NBTTagList) nbtBase); if (Loader.isModLoaded("gregtech")) { api.registerNbtSortingRule("gt_circ_config", "Configuration", Constants.NBT.TAG_INT); + api.registerNbtSortingRule("gt_item_damage", "GT.ToolStats/Dmg", Constants.NBT.TAG_INT); } } diff --git a/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinChest.java b/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinChest.java deleted file mode 100644 index 081da183..00000000 --- a/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinChest.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.cleanroommc.bogosorter.mixin.gtce; - -import com.cleanroommc.bogosorter.compat.gtce.IModularSortable; -import com.cleanroommc.bogosorter.compat.gtce.SortableSlotWidget; -import gregtech.api.gui.GuiTextures; -import gregtech.api.gui.ModularUI; -import gregtech.common.metatileentities.storage.MetaTileEntityChest; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraftforge.items.ItemStackHandler; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; -import org.spongepowered.asm.mixin.Shadow; - -@Mixin(value = MetaTileEntityChest.class, remap = false) -public abstract class MixinChest { - - @Shadow - @Final - private int rowSize; - - @Shadow - @Final - private int amountOfRows; - - @Shadow - private ItemStackHandler inventory; - - @Shadow - protected abstract void onContainerOpen(EntityPlayer player); - - @Shadow - protected abstract void onContainerClose(EntityPlayer player); - - public MetaTileEntityChest getChest() { - return (MetaTileEntityChest) (Object) this; - } - - /** - * @author brachy84 - */ - @Overwrite - public ModularUI createUI(EntityPlayer entityPlayer) { - ModularUI.Builder builder = ModularUI.builder(GuiTextures.BACKGROUND, Math.max(176, 14 + rowSize * 18), 18 + 18 * amountOfRows + 94).label(5, 5, getChest().getMetaFullName()); - - int y; - for (y = 0; y < this.amountOfRows; ++y) { - for (int x = 0; x < this.rowSize; ++x) { - int index = y * this.rowSize + x; - builder.widget(new SortableSlotWidget(inventory, index, 7 + x * 18, 18 + y * 18) - .setSortArea("chest") - .setBackgroundTexture(GuiTextures.SLOT)); - } - } - - y = (Math.max(176, 14 + this.rowSize * 18) - 162) / 2; - builder.bindPlayerInventory(entityPlayer.inventory, GuiTextures.SLOT, y, 18 + 18 * this.amountOfRows + 12); - if (!getChest().getWorld().isRemote) { - builder.bindOpenListener(() -> { - onContainerOpen(entityPlayer); - }); - builder.bindCloseListener(() -> { - onContainerClose(entityPlayer); - }); - } - - ModularUI modularUI = builder.build(getChest().getHolder(), entityPlayer); - ((IModularSortable) (Object) modularUI).addSortArea("chest", rowSize); - return modularUI; - } -} diff --git a/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUI.java b/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUI.java deleted file mode 100644 index 454ffd19..00000000 --- a/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUI.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.cleanroommc.bogosorter.mixin.gtce; - -import com.cleanroommc.bogosorter.compat.gtce.IModularSortable; -import gregtech.api.gui.ModularUI; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Unique; - -import java.util.HashMap; -import java.util.Map; - -@Mixin(ModularUI.class) -public class MixinModularUI implements IModularSortable { - - @Unique - @Final - private final Map sortAreas = new HashMap<>(); - - @Override - public void addSortArea(String key, int rowSize) { - sortAreas.put(key, rowSize); - } - - @Override - public int getRowSize(String key) { - return sortAreas.get(key); - } -} diff --git a/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUIContainer.java b/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUIContainer.java deleted file mode 100644 index f70b514d..00000000 --- a/src/main/java/com/cleanroommc/bogosorter/mixin/gtce/MixinModularUIContainer.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.cleanroommc.bogosorter.mixin.gtce; - -import com.cleanroommc.bogosorter.api.ISortableContainer; -import com.cleanroommc.bogosorter.api.ISortingContextBuilder; -import com.cleanroommc.bogosorter.compat.gtce.IModularSortable; -import com.cleanroommc.bogosorter.compat.gtce.SortableSlotWidget; -import gregtech.api.gui.ModularUI; -import gregtech.api.gui.Widget; -import gregtech.api.gui.impl.ModularUIContainer; -import net.minecraft.inventory.Slot; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -@Mixin(ModularUIContainer.class) -public class MixinModularUIContainer implements ISortableContainer { - - @Shadow - @Final - private ModularUI modularUI; - - @Override - public void buildSortingContext(ISortingContextBuilder builder) { - Map> sortableSlots = new HashMap<>(); - for (Widget widget : modularUI.getFlatVisibleWidgetCollection()) { - if (widget instanceof SortableSlotWidget) { - SortableSlotWidget sortableSlotWidget = (SortableSlotWidget) widget; - if (sortableSlotWidget.getSortArea() != null) { - sortableSlots.computeIfAbsent(sortableSlotWidget.getSortArea(), key -> new ArrayList<>()).add(sortableSlotWidget.getHandle()); - } - } - } - for (Map.Entry> entry : sortableSlots.entrySet()) { - int rowSize = getSortableModularUI().getRowSize(entry.getKey()); - if (rowSize > 0) { - builder.addSlotGroup(rowSize, entry.getValue()); - } - } - } - - public IModularSortable getSortableModularUI() { - return (IModularSortable) (Object) modularUI; - } -} diff --git a/src/main/resources/mixin.bogosorter.gregtechce.json b/src/main/resources/mixin.bogosorter.gregtechceu.json similarity index 55% rename from src/main/resources/mixin.bogosorter.gregtechce.json rename to src/main/resources/mixin.bogosorter.gregtechceu.json index e14f5094..7254f5f8 100644 --- a/src/main/resources/mixin.bogosorter.gregtechce.json +++ b/src/main/resources/mixin.bogosorter.gregtechceu.json @@ -1,12 +1,9 @@ { - "package": "com.cleanroommc.bogosorter.mixin.gtce", + "package": "com.cleanroommc.bogosorter.mixin.gtceu", "refmap": "mixins.bogosorter.refmap.json", "target": "@env(DEFAULT)", "minVersion": "0.8", "compatibilityLevel": "JAVA_8", "mixins": [ - "MixinChest", - "MixinModularUI", - "MixinModularUIContainer" ] } \ No newline at end of file