mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-24 08:08:34 +01:00
fix: all the porting :D
This commit is contained in:
parent
518ee0b4c1
commit
d89e3f5d1d
22 changed files with 275 additions and 280 deletions
|
@ -2,16 +2,20 @@ buildscript {
|
|||
repositories {
|
||||
maven { url = 'https://maven.minecraftforge.net' }
|
||||
mavenCentral()
|
||||
|
||||
maven { url = 'https://maven.parchmentmc.org' }
|
||||
}
|
||||
dependencies {
|
||||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
|
||||
classpath 'org.parchmentmc:librarian:1.+'
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'net.minecraftforge.gradle'
|
||||
apply plugin: 'org.parchmentmc.librarian.forgegradle'
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'net.minecraftforge.gradle'
|
||||
|
||||
version = "$mod_version"
|
||||
group = "de.ellpeck.actuallyadditions"
|
||||
|
@ -24,7 +28,7 @@ if (System.getenv('BUILD_NUMBER') != null) {
|
|||
java.toolchain.languageVersion = JavaLanguageVersion.of(8)
|
||||
|
||||
minecraft {
|
||||
mappings channel: 'official', version: "${game_version}"
|
||||
mappings channel: 'parchment', version: "${parchment_version}-${game_version}"
|
||||
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
||||
|
||||
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
org.gradle.jvmargs=-Xmx3G
|
||||
org.gradle.daemon=false
|
||||
# Actually Additions
|
||||
|
||||
# TODO: check this version change is okay.
|
||||
mod_version=1.1.52
|
||||
|
||||
# Forge
|
||||
game_version=1.16.5
|
||||
forge_version=36.2.2
|
||||
|
||||
# Parchment (Mappings)
|
||||
parchment_version=2021.08.08
|
||||
|
||||
# Other mods
|
||||
jei_version=1.16.4:7.6.1.71
|
||||
|
|
|
@ -34,7 +34,6 @@ import de.ellpeck.actuallyadditions.mod.recipe.EmpowererHandler;
|
|||
import de.ellpeck.actuallyadditions.mod.recipe.HairyBallHandler;
|
||||
import de.ellpeck.actuallyadditions.mod.tile.ActuallyTiles;
|
||||
import de.ellpeck.actuallyadditions.mod.update.UpdateChecker;
|
||||
import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
@ -69,17 +68,14 @@ public class ActuallyAdditions {
|
|||
return new ItemStack(ActuallyItems.ITEM_BOOKLET.get());
|
||||
}
|
||||
};
|
||||
|
||||
public static final Logger LOGGER = LogManager.getLogger(NAME);
|
||||
@Deprecated
|
||||
public static ActuallyAdditions INSTANCE;
|
||||
|
||||
public static final Logger LOGGER = LogManager.getLogger(NAME);
|
||||
|
||||
// TODO: [port] eval
|
||||
// static {
|
||||
// FluidRegistry.enableUniversalBucket();
|
||||
// }
|
||||
|
||||
public static boolean commonCapsLoaded;
|
||||
|
||||
public ActuallyAdditions() {
|
||||
|
@ -104,7 +100,7 @@ public class ActuallyAdditions {
|
|||
ActuallyAdditionsAPI.methodHandler = new MethodHandler();
|
||||
ActuallyAdditionsAPI.connectionHandler = new LaserRelayConnectionHandler();
|
||||
Lenses.init();
|
||||
CompatUtil.registerCraftingTweaks();
|
||||
// CompatUtil.registerCraftingTweaks();
|
||||
|
||||
commonCapsLoaded = false; // Loader.isModLoaded("commoncapabilities");
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ import de.ellpeck.actuallyadditions.mod.booklet.misc.BookletUtils;
|
|||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
@ -46,8 +47,8 @@ public class GuiEntry extends GuiBooklet {
|
|||
if (!this.chapters.isEmpty()) {
|
||||
IBookletChapter lastChap = this.chapters.get(this.chapters.size() - 1);
|
||||
this.pageAmount = lastChap == null
|
||||
? 1
|
||||
: calcEntryPage(this.entry, lastChap, this.searchText) + 1;
|
||||
? 1
|
||||
: calcEntryPage(this.entry, lastChap, this.searchText) + 1;
|
||||
} else {
|
||||
this.pageAmount = 1;
|
||||
}
|
||||
|
|
|
@ -1,37 +1,33 @@
|
|||
/*
|
||||
* This file ("GuiConfiguration.java") is part of the Actually Additions mod for Minecraft.
|
||||
* It is created and owned by Ellpeck and distributed
|
||||
* under the Actually Additions License to be found at
|
||||
* http://ellpeck.de/actaddlicense
|
||||
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||
*
|
||||
* © 2015-2017 Ellpeck
|
||||
*/
|
||||
|
||||
package de.ellpeck.actuallyadditions.mod.config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraftforge.common.config.ConfigElement;
|
||||
import net.minecraftforge.fml.client.config.GuiConfig;
|
||||
import net.minecraftforge.fml.client.config.IConfigElement;
|
||||
|
||||
public class GuiConfiguration extends GuiConfig {
|
||||
|
||||
public GuiConfiguration(GuiScreen parentScreen) {
|
||||
super(parentScreen, getConfigElements(), ActuallyAdditions.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigurationHandler.config.toString()));
|
||||
}
|
||||
|
||||
private static List<IConfigElement> getConfigElements() {
|
||||
List<IConfigElement> list = new ArrayList<>();
|
||||
for (int i = 0; i < ConfigCategories.values().length; i++) {
|
||||
ConfigCategories cat = ConfigCategories.values()[i];
|
||||
ConfigurationHandler.config.setCategoryComment(cat.name, cat.comment);
|
||||
list.add(new ConfigElement(ConfigurationHandler.config.getCategory(cat.name)));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
///*
|
||||
// * This file ("GuiConfiguration.java") is part of the Actually Additions mod for Minecraft.
|
||||
// * It is created and owned by Ellpeck and distributed
|
||||
// * under the Actually Additions License to be found at
|
||||
// * http://ellpeck.de/actaddlicense
|
||||
// * View the source code at https://github.com/Ellpeck/ActuallyAdditions
|
||||
// *
|
||||
// * © 2015-2017 Ellpeck
|
||||
// */
|
||||
//
|
||||
//package de.ellpeck.actuallyadditions.mod.config;
|
||||
//
|
||||
//import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
||||
//
|
||||
//import java.util.ArrayList;
|
||||
//import java.util.List;
|
||||
//
|
||||
//public class GuiConfiguration extends GuiConfig {
|
||||
//
|
||||
// public GuiConfiguration(GuiScreen parentScreen) {
|
||||
// super(parentScreen, getConfigElements(), ActuallyAdditions.MODID, false, false, GuiConfig.getAbridgedConfigPath(ConfigurationHandler.config.toString()));
|
||||
// }
|
||||
//
|
||||
// private static List<IConfigElement> getConfigElements() {
|
||||
// List<IConfigElement> list = new ArrayList<>();
|
||||
// for (int i = 0; i < ConfigCategories.values().length; i++) {
|
||||
// ConfigCategories cat = ConfigCategories.values()[i];
|
||||
// ConfigurationHandler.config.setCategoryComment(cat.name, cat.comment);
|
||||
// list.add(new ConfigElement(ConfigurationHandler.config.getCategory(cat.name)));
|
||||
// }
|
||||
// return list;
|
||||
// }
|
||||
//}
|
||||
|
|
|
@ -14,8 +14,8 @@ import com.google.common.collect.Sets;
|
|||
import de.ellpeck.actuallyadditions.mod.items.base.ItemToolAA;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.IItemTier;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
@ -35,8 +35,8 @@ public class ItemAxeAA extends ItemToolAA {
|
|||
public float getDestroySpeed(ItemStack stack, BlockState state) {
|
||||
Material material = state.getMaterial();
|
||||
return material != Material.WOOD && material != Material.PLANT && material != Material.VINE
|
||||
? super.getDestroySpeed(stack, state)
|
||||
: this.speed;
|
||||
? super.getDestroySpeed(stack, state)
|
||||
: this.speed;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -14,18 +14,16 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
|||
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
|
||||
import de.ellpeck.actuallyadditions.mod.items.base.ItemBase;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemCrafterOnAStick extends ItemBase {
|
||||
|
||||
public ItemCrafterOnAStick() {
|
||||
super(name);
|
||||
this.setMaxStackSize(1);
|
||||
super(ActuallyItems.defaultNonStacking());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -33,11 +31,6 @@ public class ItemCrafterOnAStick extends ItemBase {
|
|||
if (!world.isClientSide) {
|
||||
player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.CRAFTER.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ);
|
||||
}
|
||||
return new ActionResult<>(EnumActionResult.SUCCESS, player.getItemInHand(hand));
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack) {
|
||||
return EnumRarity.EPIC;
|
||||
return new ActionResult<>(ActionResultType.SUCCESS, player.getItemInHand(hand));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@ package de.ellpeck.actuallyadditions.mod.items;
|
|||
|
||||
import com.google.common.collect.Multimap;
|
||||
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
||||
import de.ellpeck.actuallyadditions.mod.blocks.metalists.TheColoredLampColors;
|
||||
import de.ellpeck.actuallyadditions.mod.config.values.ConfigStringListValues;
|
||||
import de.ellpeck.actuallyadditions.mod.inventory.ContainerDrill;
|
||||
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
|
||||
|
@ -27,23 +26,27 @@ import net.minecraft.block.BlockState;
|
|||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.enchantment.Enchantments;
|
||||
import net.minecraft.entity.ai.attributes.Attribute;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.ai.attributes.Attributes;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.inventory.EquipmentSlotType;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.*;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.ForgeHooks;
|
||||
import net.minecraftforge.common.ToolType;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -67,10 +70,8 @@ public class ItemDrill extends ItemEnergy {
|
|||
* @param stack The Drill
|
||||
*/
|
||||
public static void loadSlotsFromNBT(IItemHandlerModifiable slots, ItemStack stack) {
|
||||
CompoundNBT compound = stack.getTagCompound();
|
||||
if (compound != null) {
|
||||
TileEntityInventoryBase.loadSlots(slots, compound);
|
||||
}
|
||||
CompoundNBT compound = stack.getOrCreateTag();
|
||||
TileEntityInventoryBase.loadSlots(slots, compound);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -80,22 +81,22 @@ public class ItemDrill extends ItemEnergy {
|
|||
* @param stack The Drill
|
||||
*/
|
||||
public static void writeSlotsToNBT(IItemHandler slots, ItemStack stack) {
|
||||
CompoundNBT compound = stack.getTagCompound();
|
||||
if (compound == null) {
|
||||
compound = new CompoundNBT();
|
||||
}
|
||||
CompoundNBT compound = stack.getOrCreateTag();
|
||||
|
||||
TileEntityInventoryBase.saveSlots(slots, compound);
|
||||
stack.setTagCompound(compound);
|
||||
stack.setTag(compound);
|
||||
}
|
||||
|
||||
@Override
|
||||
//Places Blocks if the Placing Upgrade is installed
|
||||
public EnumActionResult onItemUse(PlayerEntity player, World world, BlockPos pos, Hand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
|
||||
public ActionResultType useOn(ItemUseContext context) {
|
||||
PlayerEntity player = context.getPlayer();
|
||||
Hand hand = context.getHand();
|
||||
|
||||
ItemStack stack = player.getItemInHand(hand);
|
||||
ItemStack upgrade = this.getHasUpgradeAsStack(stack, ItemDrillUpgrade.UpgradeType.PLACER);
|
||||
if (StackUtil.isValid(upgrade)) {
|
||||
int slot = ItemDrillUpgrade.getSlotToPlaceFrom(upgrade);
|
||||
if (slot >= 0 && slot < PlayerInventory.getHotbarSize()) {
|
||||
if (slot >= 0 && slot < 9) { // TODO: validate... old = PlayerInventory.getHotbarSize(); new = 9
|
||||
ItemStack equip = player.inventory.getItem(slot);
|
||||
if (StackUtil.isValid(equip) && equip != stack) {
|
||||
ItemStack toPlaceStack = equip.copy();
|
||||
|
@ -105,7 +106,7 @@ public class ItemDrill extends ItemEnergy {
|
|||
//tryPlaceItemIntoWorld could throw an Exception
|
||||
try {
|
||||
//Places the Block into the World
|
||||
if (toPlaceStack.onItemUse(player, world, pos, hand, side, hitX, hitY, hitZ) != EnumActionResult.FAIL) {
|
||||
if (toPlaceStack.useOn(context) != ActionResultType.FAIL) {
|
||||
if (!player.isCreative()) {
|
||||
WorldUtil.setHandItemWithoutAnnoyingSound(player, hand, toPlaceStack.copy());
|
||||
}
|
||||
|
@ -113,17 +114,18 @@ public class ItemDrill extends ItemEnergy {
|
|||
}
|
||||
//Notify the Player and log the Exception
|
||||
catch (Exception e) {
|
||||
ActuallyAdditions.LOGGER.error("Player " + player.getName() + " who should place a Block using a Drill at " + player.posX + ", " + player.posY + ", " + player.posZ + " in World " + world.provider.getDimension() + " threw an Exception! Don't let that happen again!");
|
||||
ActuallyAdditions.LOGGER.error("Player " + player.getName() + " who should place a Block using a Drill at " + player.getX() + ", " + player.getY() + ", " + player.getZ() + " in World " + context.getLevel().dimension() + " threw an Exception! Don't let that happen again!");
|
||||
}
|
||||
|
||||
player.inventory.setItem(slot, player.getItemInHand(hand));
|
||||
WorldUtil.setHandItemWithoutAnnoyingSound(player, hand, stack);
|
||||
|
||||
return EnumActionResult.SUCCESS;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
}
|
||||
}
|
||||
return EnumActionResult.FAIL;
|
||||
|
||||
return super.useOn(context);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -131,14 +133,10 @@ public class ItemDrill extends ItemEnergy {
|
|||
*
|
||||
* @param stack The Drill
|
||||
* @param upgrade The Upgrade to be checked
|
||||
*
|
||||
* @return The Upgrade, if it's installed
|
||||
*/
|
||||
public ItemStack getHasUpgradeAsStack(ItemStack stack, ItemDrillUpgrade.UpgradeType upgrade) {
|
||||
CompoundNBT compound = stack.getTagCompound();
|
||||
if (compound == null) {
|
||||
return StackUtil.getEmpty();
|
||||
}
|
||||
CompoundNBT compound = stack.getOrCreateTag();
|
||||
|
||||
ItemStackHandlerAA inv = new ItemStackHandlerAA(ContainerDrill.SLOT_AMOUNT);
|
||||
loadSlotsFromNBT(inv, stack);
|
||||
|
@ -158,7 +156,7 @@ public class ItemDrill extends ItemEnergy {
|
|||
if (!world.isClientSide && player.isShiftKeyDown() && hand == Hand.MAIN_HAND) {
|
||||
player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.DRILL.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ);
|
||||
}
|
||||
return new ActionResult<>(EnumActionResult.PASS, player.getItemInHand(hand));
|
||||
return new ActionResult<>(ActionResultType.PASS, player.getItemInHand(hand));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -178,31 +176,27 @@ public class ItemDrill extends ItemEnergy {
|
|||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack) {
|
||||
return EnumRarity.EPIC;
|
||||
}
|
||||
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlotType slot, ItemStack stack) {
|
||||
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
|
||||
|
||||
@Override
|
||||
public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot, ItemStack stack) {
|
||||
Multimap<String, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
|
||||
|
||||
if (slot == EntityEquipmentSlot.MAINHAND) {
|
||||
map.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(BASE_ATTACK_DAMAGE_UUID, "Drill Modifier", this.getEnergyStored(stack) >= ENERGY_USE
|
||||
? 8.0F
|
||||
: 0.1F, 0));
|
||||
map.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(BASE_ATTACK_SPEED_UUID, "Tool Modifier", -2.5F, 0));
|
||||
if (slot == EquipmentSlotType.MAINHAND) {
|
||||
map.put(Attributes.ATTACK_DAMAGE, new AttributeModifier("Drill Modifier", this.getEnergyStored(stack) >= ENERGY_USE
|
||||
? 8.0F
|
||||
: 0.1F, AttributeModifier.Operation.ADDITION));
|
||||
map.put(Attributes.ATTACK_SPEED, new AttributeModifier("Tool Modifier", -2.5F, AttributeModifier.Operation.ADDITION));
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public float getDestroySpeed(ItemStack stack, BlockState state) {
|
||||
return this.getEnergyStored(stack) >= this.getEnergyUsePerBlock(stack)
|
||||
? this.hasExtraWhitelist(state.getBlock()) || state.getBlock().getHarvestTool(state) == null || state.getBlock().getHarvestTool(state).isEmpty() || this.getToolClasses(stack).contains(state.getBlock().getHarvestTool(state))
|
||||
? this.getEfficiencyFromUpgrade(stack)
|
||||
: 1.0F
|
||||
: 0.1F;
|
||||
? this.hasExtraWhitelist(state.getBlock()) || state.getBlock().getHarvestTool(state) == null || state.getBlock().getHarvestTool(state) || this.getToolClasses(stack).contains(state.getBlock().getHarvestTool(state))
|
||||
? this.getEfficiencyFromUpgrade(stack)
|
||||
: 1.0F
|
||||
: 0.1F;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -216,24 +210,24 @@ public class ItemDrill extends ItemEnergy {
|
|||
} else {
|
||||
if (this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FORTUNE)) {
|
||||
ItemUtil.addEnchantment(stack, Enchantments.BLOCK_FORTUNE, this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FORTUNE_II)
|
||||
? 3
|
||||
: 1);
|
||||
? 3
|
||||
: 1);
|
||||
}
|
||||
}
|
||||
|
||||
//Block hit
|
||||
RayTraceResult ray = WorldUtil.getNearestBlockWithDefaultReachDistance(player.level, player);
|
||||
if (ray != null) {
|
||||
|
||||
if (ray != null && ray.getType() == RayTraceResult.Type.BLOCK) {
|
||||
BlockRayTraceResult trace = (BlockRayTraceResult) ray;
|
||||
//Breaks the Blocks
|
||||
if (!player.isShiftKeyDown() && this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.THREE_BY_THREE)) {
|
||||
if (this.getHasUpgrade(stack, ItemDrillUpgrade.UpgradeType.FIVE_BY_FIVE)) {
|
||||
toReturn = this.breakBlocks(stack, 2, player.level, pos, ray.sideHit, player);
|
||||
toReturn = this.breakBlocks(stack, 2, player.level, pos, trace.getDirection(), player);
|
||||
} else {
|
||||
toReturn = this.breakBlocks(stack, 1, player.level, pos, ray.sideHit, player);
|
||||
toReturn = this.breakBlocks(stack, 1, player.level, pos, trace.getDirection(), player);
|
||||
}
|
||||
} else {
|
||||
toReturn = this.breakBlocks(stack, 0, player.level, pos, ray.sideHit, player);
|
||||
toReturn = this.breakBlocks(stack, 0, player.level, pos, trace.getDirection(), player);
|
||||
}
|
||||
|
||||
//Removes Enchantments added above
|
||||
|
@ -245,11 +239,10 @@ public class ItemDrill extends ItemEnergy {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean canHarvestBlock(BlockState state, ItemStack stack) {
|
||||
Block block = state.getBlock();
|
||||
public boolean canHarvestBlock(ItemStack stack, BlockState state) {
|
||||
return this.getEnergyStored(stack) >= this.getEnergyUsePerBlock(stack) && (this.hasExtraWhitelist(block) || state.getMaterial().isToolNotRequired() || block == Blocks.SNOW_LAYER || block == Blocks.SNOW || (block == Blocks.OBSIDIAN
|
||||
? HARVEST_LEVEL >= 3
|
||||
: block != Blocks.DIAMOND_BLOCK && block != Blocks.DIAMOND_ORE
|
||||
? HARVEST_LEVEL >= 3
|
||||
: block != Blocks.DIAMOND_BLOCK && block != Blocks.DIAMOND_ORE
|
||||
? block != Blocks.EMERALD_ORE && block != Blocks.EMERALD_BLOCK
|
||||
? block != Blocks.GOLD_BLOCK && block != Blocks.GOLD_ORE
|
||||
? block != Blocks.IRON_BLOCK && block != Blocks.IRON_ORE
|
||||
|
@ -273,7 +266,7 @@ public class ItemDrill extends ItemEnergy {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getHarvestLevel(ItemStack stack, String toolClass, PlayerEntity player, BlockState blockState) {
|
||||
public int getHarvestLevel(ItemStack stack, ToolType p_getHarvestLevel_2_, @Nullable PlayerEntity p_getHarvestLevel_3_, @Nullable BlockState p_getHarvestLevel_4_) {
|
||||
return HARVEST_LEVEL;
|
||||
}
|
||||
|
||||
|
@ -281,7 +274,6 @@ public class ItemDrill extends ItemEnergy {
|
|||
* Gets the Energy that is used per Block broken
|
||||
*
|
||||
* @param stack The Drill
|
||||
*
|
||||
* @return The Energy use per Block
|
||||
*/
|
||||
public int getEnergyUsePerBlock(ItemStack stack) {
|
||||
|
@ -327,21 +319,12 @@ public class ItemDrill extends ItemEnergy {
|
|||
*
|
||||
* @param stack The Drill
|
||||
* @param upgrade The Upgrade to be checked
|
||||
*
|
||||
* @return Is the Upgrade applied?
|
||||
*/
|
||||
public boolean getHasUpgrade(ItemStack stack, ItemDrillUpgrade.UpgradeType upgrade) {
|
||||
return StackUtil.isValid(this.getHasUpgradeAsStack(stack, upgrade));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void registerRendering() {
|
||||
for (int i = 0; i < 16; i++) {
|
||||
String name = this.getRegistryName() + "_" + TheColoredLampColors.values()[i].regName;
|
||||
ActuallyAdditions.PROXY.addRenderRegister(new ItemStack(this, 1, i), new ResourceLocation(name), "inventory");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void getSubItems(CreativeTabs tabs, NonNullList<ItemStack> list) {
|
||||
|
@ -366,7 +349,6 @@ public class ItemDrill extends ItemEnergy {
|
|||
* Gets the Mining Speed of the Drill
|
||||
*
|
||||
* @param stack The Drill
|
||||
*
|
||||
* @return The Mining Speed depending on the Speed Upgrades
|
||||
*/
|
||||
public float getEfficiencyFromUpgrade(ItemStack stack) {
|
||||
|
@ -400,17 +382,17 @@ public class ItemDrill extends ItemEnergy {
|
|||
* @param world The World
|
||||
* @param player The Player who breaks the Blocks
|
||||
*/
|
||||
public boolean breakBlocks(ItemStack stack, int radius, World world, BlockPos aPos, EnumFacing side, PlayerEntity player) {
|
||||
public boolean breakBlocks(ItemStack stack, int radius, World world, BlockPos aPos, Direction side, PlayerEntity player) {
|
||||
int xRange = radius;
|
||||
int yRange = radius;
|
||||
int zRange = 0;
|
||||
|
||||
//Corrects Blocks to hit depending on Side of original Block hit
|
||||
if (side.getAxis() == Axis.Y) {
|
||||
if (side.getAxis() == Direction.Axis.Y) {
|
||||
zRange = radius;
|
||||
yRange = 0;
|
||||
}
|
||||
if (side.getAxis() == Axis.X) {
|
||||
if (side.getAxis() == Direction.Axis.X) {
|
||||
xRange = 0;
|
||||
zRange = radius;
|
||||
}
|
||||
|
@ -429,7 +411,7 @@ public class ItemDrill extends ItemEnergy {
|
|||
return false;
|
||||
}
|
||||
|
||||
if (radius == 2 && side.getAxis() != Axis.Y) {
|
||||
if (radius == 2 && side.getAxis() != Direction.Axis.Y) {
|
||||
aPos = aPos.above();
|
||||
BlockState theState = world.getBlockState(aPos);
|
||||
if (theState.getDestroySpeed(world, aPos) <= mainHardness + 5.0F) {
|
||||
|
@ -476,7 +458,7 @@ public class ItemDrill extends ItemEnergy {
|
|||
BlockState state = world.getBlockState(pos);
|
||||
Block block = state.getBlock();
|
||||
float hardness = state.getDestroySpeed(world, pos);
|
||||
boolean canHarvest = (ForgeHooks.canHarvestBlock(block, player, world, pos) || this.canHarvestBlock(state, stack)) && (!isExtra || this.getDestroySpeed(stack, world.getBlockState(pos)) > 1.0F);
|
||||
boolean canHarvest = (ForgeHooks.canHarvestBlock(state, player, world, pos) || this.canHarvestBlock(stack, state)) && (!isExtra || this.getDestroySpeed(stack, world.getBlockState(pos)) > 1.0F);
|
||||
if (hardness >= 0.0F && (!isExtra || canHarvest && !block.hasTileEntity(world.getBlockState(pos)))) {
|
||||
if (!player.isCreative()) {
|
||||
this.extractEnergyInternal(stack, use, false);
|
||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.entity.player.PlayerEntity;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
|
@ -41,20 +41,16 @@ public class ItemDrillUpgrade extends ItemBase {
|
|||
ItemStack stack = player.getItemInHand(hand);
|
||||
if (!world.isClientSide && this.type == UpgradeType.PLACER) {
|
||||
this.setSlotToPlaceFrom(stack, player.inventory.selected);
|
||||
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
|
||||
return new ActionResult<>(ActionResultType.SUCCESS, stack);
|
||||
}
|
||||
return new ActionResult<>(EnumActionResult.FAIL, stack);
|
||||
return new ActionResult<>(ActionResultType.FAIL, stack);
|
||||
}
|
||||
|
||||
public void setSlotToPlaceFrom(ItemStack stack, int slot) {
|
||||
CompoundNBT compound = stack.getTagCompound();
|
||||
if (compound == null) {
|
||||
compound = new CompoundNBT();
|
||||
}
|
||||
|
||||
CompoundNBT compound = stack.getOrCreateTag();
|
||||
compound.putInt("SlotToPlaceFrom", slot + 1);
|
||||
|
||||
stack.setTagCompound(compound);
|
||||
stack.setTag(compound);
|
||||
}
|
||||
|
||||
public enum UpgradeType {
|
||||
|
|
|
@ -16,10 +16,10 @@ import de.ellpeck.actuallyadditions.mod.items.metalists.TheDusts;
|
|||
import de.ellpeck.actuallyadditions.mod.util.IColorProvidingItem;
|
||||
import de.ellpeck.actuallyadditions.mod.util.StringUtil;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
|
||||
public class ItemDust extends ItemBase implements IColorProvidingItem {
|
||||
|
@ -39,15 +39,15 @@ public class ItemDust extends ItemBase implements IColorProvidingItem {
|
|||
@Override
|
||||
public String getDescriptionId(ItemStack stack) {
|
||||
return stack.getItemDamage() >= ALL_DUSTS.length
|
||||
? StringUtil.BUGGED_ITEM_NAME
|
||||
: this.getDescriptionId() + "_" + ALL_DUSTS[stack.getItemDamage()].name;
|
||||
? StringUtil.BUGGED_ITEM_NAME
|
||||
: this.getDescriptionId() + "_" + ALL_DUSTS[stack.getItemDamage()].name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack) {
|
||||
return stack.getItemDamage() >= ALL_DUSTS.length
|
||||
? EnumRarity.COMMON
|
||||
: ALL_DUSTS[stack.getItemDamage()].rarity;
|
||||
? EnumRarity.COMMON
|
||||
: ALL_DUSTS[stack.getItemDamage()].rarity;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -71,8 +71,8 @@ public class ItemDust extends ItemBase implements IColorProvidingItem {
|
|||
@Override
|
||||
public IItemColor getItemColor() {
|
||||
return (stack, pass) -> stack.getItemDamage() >= ALL_DUSTS.length
|
||||
? 0xFFFFFF
|
||||
: ALL_DUSTS[stack.getItemDamage()].color;
|
||||
? 0xFFFFFF
|
||||
: ALL_DUSTS[stack.getItemDamage()].color;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -13,38 +13,28 @@ package de.ellpeck.actuallyadditions.mod.items;
|
|||
import de.ellpeck.actuallyadditions.mod.items.base.ItemBase;
|
||||
import de.ellpeck.actuallyadditions.mod.misc.DispenserHandlerFertilize;
|
||||
import net.minecraft.block.DispenserBlock;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.EnumRarity;
|
||||
import net.minecraft.item.ItemDye;
|
||||
import net.minecraft.item.BoneMealItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
|
||||
public class ItemFertilizer extends ItemBase {
|
||||
|
||||
public ItemFertilizer() {
|
||||
super(name);
|
||||
super();
|
||||
|
||||
DispenserBlock.registerBehavior(this, new DispenserHandlerFertilize());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public EnumActionResult onItemUse(PlayerEntity player, World world, BlockPos pos, Hand hand, Direction side, float par8, float par9, float par10) {
|
||||
ItemStack stack = player.getItemInHand(hand);
|
||||
if (ItemDye.applyBonemeal(stack, world, pos, player, hand)) {
|
||||
if (!world.isClientSide) {
|
||||
world.levelEvent(2005, pos, 0);
|
||||
public ActionResultType useOn(ItemUseContext context) {
|
||||
ItemStack stack = context.getPlayer().getItemInHand(context.getHand());
|
||||
if (BoneMealItem.applyBonemeal(stack, context.getLevel(), context.getClickedPos(), context.getPlayer())) {
|
||||
if (!context.getLevel().isClientSide) {
|
||||
context.getLevel().levelEvent(2005, context.getClickedPos(), 0);
|
||||
}
|
||||
return EnumActionResult.SUCCESS;
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
return super.useOn(player, world, pos, hand, side, par8, par9, par10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumRarity getRarity(ItemStack stack) {
|
||||
return EnumRarity.RARE;
|
||||
return super.useOn(context);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,9 +15,7 @@ import de.ellpeck.actuallyadditions.mod.items.base.ItemFoodBase;
|
|||
import de.ellpeck.actuallyadditions.mod.items.metalists.TheFoods;
|
||||
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
|
||||
import de.ellpeck.actuallyadditions.mod.util.StringUtil;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.client.renderer.model.ModelResourceLocation;
|
||||
import net.minecraft.entity.item.ItemEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.EnumAction;
|
||||
|
@ -25,6 +23,8 @@ import net.minecraft.item.EnumRarity;
|
|||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
|
||||
public class ItemFoods extends ItemFoodBase {
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
package de.ellpeck.actuallyadditions.mod.network;
|
||||
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.network.NetworkEvent;
|
||||
|
||||
public interface IDataHandler {
|
||||
|
||||
void handleData(CompoundNBT compound, MessageContext context);
|
||||
void handleData(CompoundNBT compound, NetworkEvent.Context context);
|
||||
|
||||
}
|
||||
|
|
|
@ -14,10 +14,7 @@ import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
|||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.network.PacketBuffer;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
import net.minecraftforge.fml.network.NetworkEvent;
|
||||
|
||||
public class PacketClientToServer {
|
||||
|
||||
|
@ -59,7 +56,7 @@ public class PacketClientToServer {
|
|||
public static class Handler implements IMessageHandler<PacketClientToServer, IMessage> {
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(PacketClientToServer message, MessageContext ctx) {
|
||||
public IMessage onMessage(PacketClientToServer message, NetworkEvent.Context ctx) {
|
||||
FMLCommonHandler.instance().getMinecraftServerInstance().addScheduledTask(() -> {
|
||||
if (message.data != null && message.handler != null) {
|
||||
message.handler.handleData(message.data, ctx);
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class PacketHandlerHelper {
|
|||
compound.putInt("X", pos.getX());
|
||||
compound.putInt("Y", pos.getY());
|
||||
compound.putInt("Z", pos.getZ());
|
||||
compound.putInt("WorldID", tile.getLevel().provider.getDimension());
|
||||
compound.putInt("WorldID", tile.getLevel().getDimension());
|
||||
compound.putInt("PlayerID", Minecraft.getInstance().player.getId());
|
||||
compound.putInt("ButtonID", buttonId);
|
||||
PacketHandler.THE_NETWORK.sendToServer(new PacketClientToServer(compound, PacketHandler.GUI_BUTTON_TO_TILE_HANDLER));
|
||||
|
|
|
@ -15,12 +15,14 @@ import io.netty.buffer.ByteBuf;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.network.PacketBuffer;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
||||
|
||||
|
||||
public class PacketServerToClient implements IMessage {
|
||||
public class PacketServerToClient implements Message {
|
||||
|
||||
private CompoundNBT data;
|
||||
private IDataHandler handler;
|
||||
|
|
|
@ -20,10 +20,7 @@ import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
import net.minecraft.client.particle.Particle;
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.*;
|
||||
import net.minecraft.client.renderer.model.IBakedModel;
|
||||
import net.minecraft.client.renderer.model.ItemCameraTransforms;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
|
@ -72,7 +69,7 @@ public final class AssetUtil {
|
|||
public static void renderItemInWorld(ItemStack stack, int combinedLight, int combinedOverlay, MatrixStack matrices, IRenderTypeBuffer buffer) {
|
||||
if (StackUtil.isValid(stack)) {
|
||||
Minecraft.getInstance().getItemRenderer().renderStatic(
|
||||
stack, ItemCameraTransforms.TransformType.FIXED, combinedLight, combinedOverlay, matrices, buffer
|
||||
stack, ItemCameraTransforms.TransformType.FIXED, combinedLight, combinedOverlay, matrices, buffer
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -95,7 +92,7 @@ public final class AssetUtil {
|
|||
public static void renderItemWithoutScrewingWithColors(ItemStack stack) {
|
||||
if (StackUtil.isValid(stack)) {
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
RenderItem renderer = mc.getRenderItem();
|
||||
ItemRenderer renderer = mc.getItemRenderer();
|
||||
TextureManager manager = mc.getTextureManager();
|
||||
|
||||
IBakedModel model = renderer.getItemModelWithOverrides(stack, null, null);
|
||||
|
@ -105,7 +102,7 @@ public final class AssetUtil {
|
|||
GlStateManager._enableRescaleNormal();
|
||||
GlStateManager._enableBlend();
|
||||
GlStateManager._pushMatrix();
|
||||
model = ForgeHooksClient.handleCameraTransforms(model, TransformType.FIXED, false);
|
||||
model = ForgeHooksClient.handleCameraTransforms(model, ItemCameraTransforms.TransformType.FIXED, false);
|
||||
renderer.renderItem(stack, model);
|
||||
GlStateManager.cullFace(GlStateManager.CullFace.BACK);
|
||||
GlStateManager._popMatrix();
|
||||
|
@ -253,8 +250,8 @@ public final class AssetUtil {
|
|||
Vec3d combinedVec = vec2.subtract(vec1);
|
||||
|
||||
double rot = rotationTime > 0
|
||||
? 360D * (world.getTotalWorldTime() % rotationTime / rotationTime)
|
||||
: 0;
|
||||
? 360D * (world.getTotalWorldTime() % rotationTime / rotationTime)
|
||||
: 0;
|
||||
double pitch = Math.atan2(combinedVec.y, Math.sqrt(combinedVec.x * combinedVec.x + combinedVec.z * combinedVec.z));
|
||||
double yaw = Math.atan2(-combinedVec.z, combinedVec.x);
|
||||
|
||||
|
|
|
@ -11,11 +11,14 @@
|
|||
package de.ellpeck.actuallyadditions.mod.util;
|
||||
|
||||
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
|
||||
|
||||
|
|
|
@ -11,10 +11,11 @@
|
|||
package de.ellpeck.actuallyadditions.mod.util;
|
||||
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
|
||||
public interface IColorProvidingBlock {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
IBlockColor getBlockColor();
|
||||
|
||||
|
|
|
@ -11,10 +11,11 @@
|
|||
package de.ellpeck.actuallyadditions.mod.util;
|
||||
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
|
||||
|
||||
public interface IColorProvidingItem {
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
IItemColor getItemColor();
|
||||
|
||||
|
|
|
@ -1,49 +1,23 @@
|
|||
package de.ellpeck.actuallyadditions.mod.util;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import net.minecraft.network.EnumPacketDirection;
|
||||
import net.minecraft.network.NetHandlerPlayServer;
|
||||
import io.netty.util.concurrent.Future;
|
||||
import io.netty.util.concurrent.GenericFutureListener;
|
||||
import net.minecraft.network.IPacket;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.client.CPacketAnimation;
|
||||
import net.minecraft.network.play.client.CPacketChatMessage;
|
||||
import net.minecraft.network.play.client.CPacketClickWindow;
|
||||
import net.minecraft.network.play.client.CPacketClientSettings;
|
||||
import net.minecraft.network.play.client.CPacketClientStatus;
|
||||
import net.minecraft.network.play.client.CPacketCloseWindow;
|
||||
import net.minecraft.network.play.client.CPacketConfirmTeleport;
|
||||
import net.minecraft.network.play.client.CPacketConfirmTransaction;
|
||||
import net.minecraft.network.play.client.CPacketCreativeInventoryAction;
|
||||
import net.minecraft.network.play.client.CPacketCustomPayload;
|
||||
import net.minecraft.network.play.client.CPacketEnchantItem;
|
||||
import net.minecraft.network.play.client.CPacketEntityAction;
|
||||
import net.minecraft.network.play.client.CPacketHeldItemChange;
|
||||
import net.minecraft.network.play.client.CPacketInput;
|
||||
import net.minecraft.network.play.client.CPacketKeepAlive;
|
||||
import net.minecraft.network.play.client.CPacketPlaceRecipe;
|
||||
import net.minecraft.network.play.client.CPacketPlayer;
|
||||
import net.minecraft.network.play.client.CPacketPlayerAbilities;
|
||||
import net.minecraft.network.play.client.CPacketPlayerDigging;
|
||||
import net.minecraft.network.play.client.CPacketPlayerTryUseItem;
|
||||
import net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock;
|
||||
import net.minecraft.network.play.client.CPacketRecipeInfo;
|
||||
import net.minecraft.network.play.client.CPacketResourcePackStatus;
|
||||
import net.minecraft.network.play.client.CPacketSeenAdvancements;
|
||||
import net.minecraft.network.play.client.CPacketSpectate;
|
||||
import net.minecraft.network.play.client.CPacketSteerBoat;
|
||||
import net.minecraft.network.play.client.CPacketTabComplete;
|
||||
import net.minecraft.network.play.client.CPacketUpdateSign;
|
||||
import net.minecraft.network.play.client.CPacketUseEntity;
|
||||
import net.minecraft.network.play.client.CPacketVehicleMove;
|
||||
import net.minecraft.network.play.server.SPacketPlayerPosLook.EnumFlags;
|
||||
import net.minecraft.network.PacketDirection;
|
||||
import net.minecraft.network.play.ServerPlayNetHandler;
|
||||
import net.minecraft.network.play.client.*;
|
||||
import net.minecraft.network.play.server.SPlayerPositionLookPacket;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraftforge.common.util.FakePlayer;
|
||||
|
||||
public class NetHandlerSpaghettiServer extends NetHandlerPlayServer {
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.Set;
|
||||
|
||||
public class NetHandlerSpaghettiServer extends ServerPlayNetHandler {
|
||||
|
||||
public NetHandlerSpaghettiServer(FakePlayer player) {
|
||||
super(null, new NetworkManager(EnumPacketDirection.CLIENTBOUND), player);
|
||||
super(null, new NetworkManager(PacketDirection.CLIENTBOUND), player);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -51,140 +25,202 @@ public class NetHandlerSpaghettiServer extends NetHandlerPlayServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handlePlaceRecipe(CPacketPlaceRecipe p_194308_1_) {
|
||||
public void handlePlayerInput(CInputPacket p_147358_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleAnimation(CPacketAnimation packetIn) {
|
||||
public void handleMoveVehicle(CMoveVehiclePacket p_184338_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRecipeBookUpdate(CPacketRecipeInfo p_191984_1_) {
|
||||
public void handleAcceptTeleportPacket(CConfirmTeleportPacket p_184339_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleResourcePackStatus(CPacketResourcePackStatus packetIn) {
|
||||
public void handleRecipeBookSeenRecipePacket(CMarkRecipeSeenPacket p_191984_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSeenAdvancements(CPacketSeenAdvancements p_194027_1_) {
|
||||
public void handleRecipeBookChangeSettingsPacket(CUpdateRecipeBookStatusPacket p_241831_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSpectate(CPacketSpectate packetIn) {
|
||||
public void handleSeenAdvancements(CSeenAdvancementsPacket p_194027_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnect(ITextComponent reason) {
|
||||
public void handleCustomCommandSuggestions(CTabCompletePacket p_195518_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processChatMessage(CPacketChatMessage packetIn) {
|
||||
public void handleSetCommandBlock(CUpdateCommandBlockPacket p_210153_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processClickWindow(CPacketClickWindow packetIn) {
|
||||
public void handleSetCommandMinecart(CUpdateMinecartCommandBlockPacket p_210158_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processClientSettings(CPacketClientSettings packetIn) {
|
||||
public void handlePickItem(CPickItemPacket p_210152_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processClientStatus(CPacketClientStatus packetIn) {
|
||||
public void handleRenameItem(CRenameItemPacket p_210155_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCloseWindow(CPacketCloseWindow packetIn) {
|
||||
public void handleSetBeaconPacket(CUpdateBeaconPacket p_210154_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processConfirmTeleport(CPacketConfirmTeleport packetIn) {
|
||||
public void handleSetStructureBlock(CUpdateStructureBlockPacket p_210157_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processConfirmTransaction(CPacketConfirmTransaction packetIn) {
|
||||
public void handleSetJigsawBlock(CUpdateJigsawBlockPacket p_217262_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCreativeInventoryAction(CPacketCreativeInventoryAction packetIn) {
|
||||
public void handleJigsawGenerate(CJigsawBlockGeneratePacket p_230549_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processCustomPayload(CPacketCustomPayload packetIn) {
|
||||
public void handleSelectTrade(CSelectTradePacket p_210159_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processEnchantItem(CPacketEnchantItem packetIn) {
|
||||
public void handleEditBook(CEditBookPacket p_210156_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processEntityAction(CPacketEntityAction packetIn) {
|
||||
public void handleEntityTagQuery(CQueryEntityNBTPacket p_211526_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processHeldItemChange(CPacketHeldItemChange packetIn) {
|
||||
public void handleBlockEntityTagQuery(CQueryTileEntityNBTPacket p_211525_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processInput(CPacketInput packetIn) {
|
||||
public void handleMovePlayer(CPlayerPacket p_147347_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processKeepAlive(CPacketKeepAlive packetIn) {
|
||||
public void teleport(double p_147364_1_, double p_147364_3_, double p_147364_5_, float p_147364_7_, float p_147364_8_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processPlayer(CPacketPlayer packetIn) {
|
||||
public void teleport(double p_175089_1_, double p_175089_3_, double p_175089_5_, float p_175089_7_, float p_175089_8_, Set<SPlayerPositionLookPacket.Flags> p_175089_9_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processPlayerAbilities(CPacketPlayerAbilities packetIn) {
|
||||
public void handlePlayerAction(CPlayerDiggingPacket p_147345_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processPlayerDigging(CPacketPlayerDigging packetIn) {
|
||||
public void handleUseItemOn(CPlayerTryUseItemOnBlockPacket p_184337_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processSteerBoat(CPacketSteerBoat packetIn) {
|
||||
public void handleUseItem(CPlayerTryUseItemPacket p_147346_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processTabComplete(CPacketTabComplete packetIn) {
|
||||
public void handleTeleportToEntityPacket(CSpectatePacket p_175088_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processTryUseItem(CPacketPlayerTryUseItem packetIn) {
|
||||
public void handleResourcePackResponse(CResourcePackStatusPacket p_175086_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processTryUseItemOnBlock(CPacketPlayerTryUseItemOnBlock packetIn) {
|
||||
public void handlePaddleBoat(CSteerBoatPacket p_184340_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processUpdateSign(CPacketUpdateSign packetIn) {
|
||||
public void onDisconnect(ITextComponent p_147231_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processUseEntity(CPacketUseEntity packetIn) {
|
||||
public void send(IPacket<?> p_147359_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processVehicleMove(CPacketVehicleMove packetIn) {
|
||||
public void send(IPacket<?> p_211148_1_, @Nullable GenericFutureListener<? extends Future<? super Void>> p_211148_2_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendPacket(Packet<?> packetIn) {
|
||||
public void handleSetCarriedItem(CHeldItemChangePacket p_147355_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerLocation(double x, double y, double z, float yaw, float pitch) {
|
||||
public void handleChat(CChatMessagePacket p_147354_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerLocation(double x, double y, double z, float yaw, float pitch, Set<EnumFlags> relativeSet) {
|
||||
|
||||
public void handleAnimate(CAnimateHandPacket p_175087_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlayerCommand(CEntityActionPacket p_147357_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleInteract(CUseEntityPacket p_147340_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleClientCommand(CClientStatusPacket p_147342_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerClose(CCloseWindowPacket p_147356_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerClick(CClickWindowPacket p_147351_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlaceRecipe(CPlaceRecipePacket p_194308_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerButtonClick(CEnchantItemPacket p_147338_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetCreativeModeSlot(CCreativeInventoryActionPacket p_147344_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerAck(CConfirmTransactionPacket p_147339_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSignUpdate(CUpdateSignPacket p_147343_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(CKeepAlivePacket p_147353_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlayerAbilities(CPlayerAbilitiesPacket p_147348_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleClientInformation(CClientSettingsPacket p_147352_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(CCustomPayloadPacket p_147349_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleChangeDifficulty(CSetDifficultyPacket p_217263_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleLockDifficulty(CLockDifficultyPacket p_217261_1_) {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,6 @@ public final class StackUtil {
|
|||
* Pretty much just a check for {@link ItemStack#isEmpty()} but exists in case Mojang does some more refactoring.
|
||||
*
|
||||
* @param stack The stack
|
||||
*
|
||||
* @return If the stack is not empty, or if it's an IDisableableItem, if its enabled.
|
||||
*/
|
||||
@Deprecated
|
||||
|
@ -49,7 +48,6 @@ public final class StackUtil {
|
|||
* Checks if a collection of stacks are empty, as {@link Collection#isEmpty()} does not care about empty stacks.
|
||||
*
|
||||
* @param stacks Some ItemStacks
|
||||
*
|
||||
* @return If all stacks in the collection return true for {@link ItemStack#isEmpty()}
|
||||
*/
|
||||
@Deprecated
|
||||
|
@ -71,7 +69,6 @@ public final class StackUtil {
|
|||
* @param inv The AA Item handler
|
||||
* @param stacks The stacks to add
|
||||
* @param fromAutomation If these stacks are coming from a pipe or other external source, or internally, like from the TE's update() method.
|
||||
*
|
||||
* @return If all stacks fit fully. If even one item would not fit, the method returns false.
|
||||
*/
|
||||
public static boolean canAddAll(ItemStackHandlerAA inv, List<ItemStack> stacks, boolean fromAutomation) {
|
||||
|
@ -118,7 +115,6 @@ public final class StackUtil {
|
|||
* @param slot The starting slot.
|
||||
* @param endSlot The ending slot, exclusive.
|
||||
* @param fromAutomation If these stacks are coming from a pipe or other external source, or internally, like from the TE's update() method.
|
||||
*
|
||||
* @return If all stacks fit fully. If even one item would not fit, the method returns false.
|
||||
*/
|
||||
public static boolean canAddAll(ItemStackHandlerAA inv, List<ItemStack> stacks, int slot, int endSlot, boolean fromAutomation) {
|
||||
|
@ -162,7 +158,6 @@ public final class StackUtil {
|
|||
* Util method to find the first filled item in a handler. Searches from slot 0 to the end.
|
||||
*
|
||||
* @param inv The IItemHandler to search.
|
||||
*
|
||||
* @return The first filled slot, or -1 if all slots are empty.
|
||||
*/
|
||||
public static int findFirstFilled(IItemHandler inv) {
|
||||
|
@ -210,17 +205,15 @@ public final class StackUtil {
|
|||
* @param simulate If this is a simulation
|
||||
* @param slotStart Start range
|
||||
* @param slotEnd End range
|
||||
*
|
||||
* @return The remainder that was not inserted.
|
||||
*/
|
||||
public static ItemStack insertItem(SlotlessableItemHandlerWrapper wrapper, ItemStack stack, boolean simulate, int slotStart, int slotEnd) {
|
||||
if (stack.isEmpty()) {
|
||||
return stack;
|
||||
}
|
||||
ItemStack remain = stack.copy();
|
||||
|
||||
if (ActuallyAdditions.commonCapsLoaded) {
|
||||
Object handler = wrapper.getSlotlessHandler();
|
||||
// Object handler = wrapper.getSlotlessHandler();
|
||||
// if (handler instanceof ISlotlessItemHandler) {
|
||||
// remain = ((ISlotlessItemHandler) handler).insertItem(remain, simulate);
|
||||
// if (!ItemStack.areItemStacksEqual(remain, stack)) {
|
||||
|
@ -229,14 +222,14 @@ public final class StackUtil {
|
|||
// }
|
||||
}
|
||||
|
||||
IItemHandler handler = wrapper.getNormalHandler();
|
||||
if (handler != null) {
|
||||
for (int i = Math.max(0, slotStart); i < Math.min(slotEnd, handler.getSlots()); i++) {
|
||||
remain = handler.insertItem(i, remain, simulate);
|
||||
return wrapper.getNormalHandler().map(e -> {
|
||||
ItemStack remain = stack.copy();
|
||||
for (int i = Math.max(0, slotStart); i < Math.min(slotEnd, e.getSlots()); i++) {
|
||||
remain = e.insertItem(i, remain, simulate);
|
||||
}
|
||||
}
|
||||
|
||||
return remain;
|
||||
return remain;
|
||||
}).orElse(stack);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue