Thank you weakref, very deterministic

- Cart controller safety #669, #684, #702, #708, #709, #714, #719, #722, #725, #728
- Update Registrate #662, #677, #697, #726
- Fixed blocks not able to be placed onto a face with super glue
- Fixed block duplication involving super glue #681, #682
- Fixed fluid tanks voiding content on contrapion disassembly #707
This commit is contained in:
simibubi 2021-01-13 14:16:45 +01:00
parent 3cdbf47cb9
commit 9d5ae97a0a
5 changed files with 11 additions and 7 deletions

View file

@ -4,12 +4,12 @@ org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
# mod version info
mod_version=0.3c
mod_version=0.3d
minecraft_version=1.15.2
forge_version=31.2.31
# dependency versions
registrate_version=0.0.4.18
registrate_version=1.0.0-rc.17
jei_version=6.0.0.2
# curseforge information

View file

@ -120,7 +120,7 @@ public class MountedFluidStorage {
return;
SmartFluidTank inv = (SmartFluidTank) teHandler;
inv.setFluid(tank.getFluid());
inv.setFluid(tank.getFluid().copy());
}
public IFluidHandler getFluidHandler() {

View file

@ -12,6 +12,7 @@ import com.simibubi.create.content.schematics.ISpecialEntityItemRequirement;
import com.simibubi.create.content.schematics.ItemRequirement;
import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType;
import com.simibubi.create.foundation.networking.AllPackets;
import com.simibubi.create.foundation.utility.BlockFace;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
@ -272,9 +273,9 @@ public class SuperGlueEntity extends Entity implements IEntityAdditionalSpawnDat
if (ray.getType() == Type.MISS)
return;
BlockRayTraceResult blockRay = (BlockRayTraceResult) ray;
if (!blockRay.getPos()
.offset(blockRay.getFace())
.equals(getHangingPosition()))
BlockFace rayFace = new BlockFace(blockRay.getPos(), blockRay.getFace());
BlockFace hangingFace = new BlockFace(getHangingPosition(), getFacingDirection().getOpposite());
if (!rayFace.isEquivalent(hangingFace))
return;
for (Hand handIn : Hand.values()) {

View file

@ -63,6 +63,8 @@ public class SuperGlueHandler {
ItemStack itemstack = placer.getHeldItemOffhand();
if (!AllItems.SUPER_GLUE.isIn(itemstack))
return;
if (AllItems.WRENCH.isIn(placer.getHeldItemMainhand()))
return;
double distance = placer.getAttribute(PlayerEntity.REACH_DISTANCE)
.getValue();

View file

@ -102,7 +102,8 @@ public class CapabilityMinecartController implements ICapabilitySerializable<Com
if (world.isRemote && carts.containsKey(uniqueID)) {
MinecartController minecartController = carts.get(uniqueID);
if (minecartController.isPresent() && minecartController.cart().getEntityId() != cart.getEntityId())
AbstractMinecartEntity minecartEntity = minecartController.cart();
if (minecartEntity != null && minecartEntity.getEntityId() != cart.getEntityId())
continue; // Away with you, Fake Entities!
}