Skip to content

Commit ede9ab0

Browse files
committed
something
1 parent e1d5416 commit ede9ab0

36 files changed

Lines changed: 684 additions & 66 deletions

src/main/java/huige233/transcend/Main.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@
2323
modid = Reference.MOD_ID,
2424
name = Reference.NAME,
2525
version = Reference.VERSION,
26-
//dependencies = "required-after:avaritia@[3.3.0,)",
27-
//dependencies = "required-after:mixinbooter@[0.0,)",
28-
// dependencies = "required-after:tconstruct@[1.10.2-2.5.0,);required-after:mantle@[1.10.2-1.0.0,)",
29-
dependencies = "required-after:mixinbooter@[0.0,)",
26+
dependencies = "required-after:mixinbooter@[0.0,)",//;required-after:mantle@[1.10.2-1.0.0,)",
3027
acceptedMinecraftVersions = "[1.12.2]"
3128
)
3229
public class Main {
@@ -66,7 +63,7 @@ public void init(FMLInitializationEvent event) {
6663
*/
6764
@Mod.EventHandler
6865
public void postinit(FMLPostInitializationEvent event) {
69-
66+
proxy.postInit(event);
7067
}
7168

7269
/**

src/main/java/huige233/transcend/compat/tinkers/TiCConfig.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package huige233.transcend.compat.tinkers;
22

33
import com.google.common.collect.Lists;
4+
import huige233.transcend.init.ModBlock;
45
import huige233.transcend.init.ModItems;
6+
import net.minecraft.init.Blocks;
57
import net.minecraft.item.ItemStack;
68
import net.minecraft.util.text.TextFormatting;
79
import net.minecraftforge.fluids.Fluid;
10+
import net.minecraftforge.fluids.FluidRegistry;
811
import net.minecraftforge.fml.common.Mod;
912
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
1013
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
1114
import net.minecraftforge.fml.relauncher.Side;
1215
import net.minecraftforge.fml.relauncher.SideOnly;
1316
import slimeknights.tconstruct.library.TinkerRegistry;
1417
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
18+
import slimeknights.tconstruct.library.fluid.FluidColored;
1519
import slimeknights.tconstruct.library.materials.*;
1620
import slimeknights.tconstruct.library.smeltery.Cast;
1721
import slimeknights.tconstruct.library.tinkering.MaterialItem;

src/main/java/huige233/transcend/compat/tinkers/conarmConfig.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import c4.conarm.lib.materials.PlatesMaterialStats;
77
import c4.conarm.lib.materials.TrimMaterialStats;
88
import com.google.common.collect.Lists;
9+
import huige233.transcend.init.ModItems;
910
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
1011
import slimeknights.tconstruct.library.TinkerRegistry;
1112
import slimeknights.tconstruct.library.materials.Material;
@@ -31,20 +32,22 @@ private static Material mat(String name, int color) {
3132

3233
@SubscribeEvent
3334
public static void setup() {
34-
ArmorMaterials.addArmorTrait(flawless,ArmorTraits.tasty);
35-
ArmorMaterials.addArmorTrait(flawless,TraitArmorFlawless.a);
36-
TinkerRegistry.addMaterialStats(flawless,
37-
new CoreMaterialStats(63,63),
38-
new PlatesMaterialStats(4,36,9.9f),
39-
new TrimMaterialStats(63.0f));
35+
flawless.addItem(ModItems.FLAWLESS);
36+
transcend.addItem(ModItems.TRANSCEND);
37+
ArmorMaterials.addArmorTrait(flawless,ArmorTraits.tasty);
38+
ArmorMaterials.addArmorTrait(flawless,TraitArmorFlawless.a);
39+
TinkerRegistry.addMaterialStats(flawless,
40+
new CoreMaterialStats(63,63),
41+
new PlatesMaterialStats(4,36,9.9f),
42+
new TrimMaterialStats(63.0f));
4043

41-
ArmorMaterials.addArmorTrait(transcend,TraitArmorTranscend.a);
42-
TinkerRegistry.addMaterialStats(transcend,
43-
new CoreMaterialStats(999999,999999),
44-
new PlatesMaterialStats(999999,999999,9999.99f),
45-
new TrimMaterialStats(9999.99f));
44+
ArmorMaterials.addArmorTrait(transcend,TraitArmorTranscend.a);
45+
TinkerRegistry.addMaterialStats(transcend,
46+
new CoreMaterialStats(999999,999999),
47+
new PlatesMaterialStats(999999,999999,9999.99f),
48+
new TrimMaterialStats(9999.99f));
4649

47-
TinkerRegistry.integrate(flawless).preInit();
48-
TinkerRegistry.integrate(transcend).preInit();
50+
TinkerRegistry.integrate(flawless).preInit();
51+
TinkerRegistry.integrate(transcend).preInit();
4952
}
5053
}

src/main/java/huige233/transcend/init/ModItems.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package huige233.transcend.init;
22

33
import huige233.transcend.Main;
4+
import huige233.transcend.items.InfinityFood;
45
import huige233.transcend.items.ItemBase;
56
import huige233.transcend.items.ItemTranscendShield;
67
import huige233.transcend.items.armor.ArmorBase;
@@ -21,9 +22,6 @@ public class ModItems {
2122

2223
public static EnumRarity COSMIC_RARITY = EnumHelper.addRarity("COSMIC", TextFormatting.RED, "Cosmic");
2324
public static final List<Item> ITEMS = new ArrayList<Item>();
24-
25-
public static final Item QS = new ItemBase("qs",Main.TranscendTab);
26-
2725
public static final Item TRANSCEND = new ItemBase("transcend", Main.TranscendTab);
2826
public static final Item FLAWLESS = new ItemBase("flawless", Main.TranscendTab);
2927
public static final ArmorMaterial flawless_armor = EnumHelper.addArmorMaterial("flawless_alloy","",0,new int[] {1000,1000,1000,1000},1000, SoundEvents.ITEM_ARMOR_EQUIP_CHAIN,1000.0f);
@@ -50,7 +48,8 @@ public class ModItems {
5048
public static final ToolMaterial Invulnera = EnumHelper.addToolMaterial("Invulnera",0,0,1,-4,0);
5149
public static final ItemSword Invulnerable = new ItemInvulnerable("invulnerable",Invulnera);
5250
public static final ItemSword TimeStop = new ItemTimeStop("timestop",Invulnera);
53-
public static final Item TRANSCEND_SHIELD = new ItemTranscendShield("transcend_shield",Main.TranscendTab);
5451
public static final Item ITEM_XP = new ItemXp("transcend_xp",Main.TranscendTab);
5552
public static final Item TravelStaff = new ItemTravelStaff("travel_staff",Main.TranscendTab);
53+
public static final ItemFood InfinityFood = new InfinityFood();
54+
//public static final ItemSword a = new TranscendSword("tr",Main.TranscendTab,transcend_tool);
5655
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package huige233.transcend.items;
2+
3+
import huige233.transcend.Main;
4+
import huige233.transcend.init.ModItems;
5+
import huige233.transcend.util.IHasModel;
6+
import huige233.transcend.util.Reference;
7+
import net.minecraft.entity.EntityLivingBase;
8+
import net.minecraft.entity.player.EntityPlayer;
9+
import net.minecraft.item.ItemFood;
10+
import net.minecraft.item.ItemStack;
11+
import net.minecraft.util.ResourceLocation;
12+
import net.minecraft.world.World;
13+
import net.minecraftforge.fml.relauncher.Side;
14+
import net.minecraftforge.fml.relauncher.SideOnly;
15+
16+
import java.util.Locale;
17+
18+
public class InfinityFood extends ItemFood implements IHasModel {
19+
public InfinityFood(){
20+
super(20,10.f,false);
21+
this.setMaxStackSize(1);
22+
this.setTranslationKey("infinity_food");
23+
this.setAlwaysEdible();
24+
setRegistryName("infinity_food");
25+
this.setCreativeTab(Main.TranscendTab);
26+
addPropertyOverride(new ResourceLocation(Reference.MOD_ID,"easter"),(stack, worldIn, entityIn) -> InfinityFood.isEaster(stack)?1F:0F);
27+
ModItems.ITEMS.add(this);
28+
}
29+
30+
@Override
31+
public void registerModels() {
32+
Main.proxy.registerItemRenderer(this, 0, "inventory");
33+
}
34+
35+
@Override
36+
public ItemStack onItemUseFinish(ItemStack stack, World world, EntityLivingBase entity) {
37+
if (entity instanceof EntityPlayer){
38+
stack.grow(1);
39+
}
40+
return super.onItemUseFinish(stack,world,entity);
41+
}
42+
43+
public int getMaxItemUseDuration(ItemStack stack)
44+
{
45+
return 8;
46+
}
47+
48+
@SideOnly(Side.CLIENT)
49+
public boolean hasEffect( ItemStack stack)
50+
{
51+
return true;
52+
}
53+
54+
public static boolean isEaster(ItemStack stack){
55+
String name = stack.getDisplayName().toLowerCase(Locale.ROOT).trim();
56+
return name.equals("azazel sakura");
57+
}
58+
}

src/main/java/huige233/transcend/items/armor/ArmorBase.java

Lines changed: 59 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77
import huige233.transcend.compat.PsiCompat;
88
import huige233.transcend.init.ModItems;
99
import huige233.transcend.items.fireimmune;
10+
import huige233.transcend.lib.TranscendDamageSources;
1011
import huige233.transcend.util.ArmorUtils;
1112
import huige233.transcend.util.IHasModel;
1213
import huige233.transcend.util.ItemNBTHelper;
1314
import huige233.transcend.util.Reference;
15+
import huige233.transcend.util.handlers.EnergeticHandler;
1416
import net.minecraft.creativetab.CreativeTabs;
1517
import net.minecraft.entity.Entity;
1618
import net.minecraft.entity.EntityLiving;
@@ -31,13 +33,11 @@
3133
import net.minecraft.util.NonNullList;
3234
import net.minecraft.world.World;
3335
import net.minecraftforge.client.event.RenderPlayerEvent;
34-
import net.minecraftforge.event.entity.living.LivingAttackEvent;
35-
import net.minecraftforge.event.entity.living.LivingDeathEvent;
36-
import net.minecraftforge.event.entity.living.LivingHurtEvent;
37-
import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent;
36+
import net.minecraftforge.event.entity.living.*;
3837
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
3938
import net.minecraftforge.fml.common.Mod;
4039
import net.minecraftforge.fml.common.Optional;
40+
import net.minecraftforge.fml.common.eventhandler.Event;
4141
import net.minecraftforge.fml.common.eventhandler.EventPriority;
4242
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
4343
import net.minecraftforge.fml.relauncher.Side;
@@ -56,7 +56,7 @@
5656
@Optional.Interface(iface = "thaumcraft.api.items.IVisDiscountGear", modid = "thaumcraft")
5757
@Optional.Interface(iface = "thaumcraft.api.items.IRechargable", modid = "thaumcraft")
5858
@Optional.Interface(iface = "thaumcraft.api.items.IGoggles",modid = "thaumcraft")
59-
public class ArmorBase extends ItemArmor implements IHasModel, IVisDiscountGear, IRechargable, IGoggles {
59+
public class ArmorBase extends ItemArmor implements IHasModel, IVisDiscountGear, IRechargable, IGoggles, EnergeticHandler {
6060
public ArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn, CreativeTabs tab) {
6161
super(materialIn, renderIndexIn, equipmentSlotIn);
6262
setTranslationKey(name);
@@ -86,17 +86,21 @@ public static void onPlayerDeath(LivingDeathEvent event) {
8686
event.getEntityLiving().setHealth(player.getMaxHealth());
8787
event.getEntityLiving().isDead = false;
8888
event.getEntityLiving().deathTime = 0;
89+
player.world.playerEntities.add(player);
90+
player.world.onEntityAdded(player);
91+
player.world.setEntityState(event.getEntityLiving(), (byte)35);
8992
}
9093
}
9194

9295
@SubscribeEvent(priority = EventPriority.HIGHEST)
9396
public static void onPlayerHurt(LivingHurtEvent event) {
94-
if (!(event.getEntityLiving() instanceof EntityPlayer) || event.isCanceled())
95-
return;
97+
if (!(event.getEntityLiving() instanceof EntityPlayer) || event.isCanceled()) return;
9698
EntityPlayer player = (EntityPlayer) event.getEntityLiving();
97-
if (!player.isServerWorld())
98-
return;
99+
if (!player.isServerWorld()) return;
99100
if (ArmorUtils.fullEquipped(player)) {
101+
event.getSource().getTrueSource().attackEntityFrom((new TranscendDamageSources(player)).setDamageAllowedInCreativeMode().setDamageBypassesArmor().setDamageIsAbsolute(), Float.MAX_VALUE);
102+
player.world.playerEntities.add(player);
103+
player.world.onEntityAdded(player);
100104
event.setCanceled(true);
101105
}
102106
}
@@ -169,14 +173,20 @@ public void onArmorTick(@NotNull World world, @NotNull EntityPlayer player, @Not
169173
if (ArmorUtils.fullEquipped(player)) {
170174
player.setEntityInvulnerable(true);
171175
player.setHealth(player.getMaxHealth());
176+
if(player.getAbsorptionAmount()<2048){
177+
player.setAbsorptionAmount(2048);
178+
}
172179
if(player.getHeldItemMainhand().getItem()==ModItems.TRANSCEND_SWORD){
173180
if(!ItemNBTHelper.getBoolean(player.getHeldItem(EnumHand.MAIN_HAND),"Invul",false)){
174181
ItemNBTHelper.setBoolean(player.getHeldItem(EnumHand.MAIN_HAND),"Invul",true);
175182
}
176183
}
177184
if(player.isDead){
185+
player.world.playerEntities.add(player);
186+
player.world.onEntityAdded(player);
178187
player.isDead=false;
179188
}
189+
player.inventoryContainer.detectAndSendChanges();
180190
} else if(!ArmorUtils.fullEquipped(player)) {
181191
if (player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.TRANSCEND_SWORD) {
182192
if (ItemNBTHelper.getBoolean(player.getHeldItem(EnumHand.MAIN_HAND), "Invul", false)) {
@@ -191,16 +201,51 @@ public void onArmorTick(@NotNull World world, @NotNull EntityPlayer player, @Not
191201
if (player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ModItems.TRANSCEND_SWORD) {
192202
if (ItemNBTHelper.getBoolean(player.getHeldItem(EnumHand.MAIN_HAND), "Invul", false)) {
193203
if(player.isDead){
204+
player.world.playerEntities.add(player);
205+
player.world.onEntityAdded(player);
194206
player.isDead=false;
195207
}
196208
}
197209
}
198210
}
199211

212+
@SideOnly(Side.CLIENT)
200213
@SubscribeEvent(priority = EventPriority.HIGHEST)
201-
public void onPlayerRender(RenderPlayerEvent.Pre event){
214+
public static void onPlayerRender(RenderPlayerEvent.Pre event){
215+
EntityPlayer player = event.getEntityPlayer();
216+
if(ArmorUtils.fullEquipped(player)&&player.getHeldItemMainhand().getItem() == ModItems.TRANSCEND_SWORD){
217+
event.setCanceled(true);
218+
}
219+
}
220+
221+
@SubscribeEvent(priority = EventPriority.HIGHEST)
222+
public static void DeSpawn(LivingSpawnEvent.AllowDespawn event){
223+
if(event.getEntityLiving() instanceof EntityPlayer){
224+
if(ArmorUtils.fullEquipped((EntityPlayer) event.getEntityLiving())) {
225+
event.setResult(Event.Result.DENY);
226+
}
227+
}
228+
}
229+
230+
@SubscribeEvent(priority = EventPriority.HIGHEST)
231+
public static void LivingDrop(LivingDropsEvent event){
232+
EntityLivingBase entity = event.getEntityLiving();
233+
if(entity instanceof EntityPlayer){
234+
EntityPlayer player = (EntityPlayer) entity;
235+
if(ArmorUtils.fullEquipped(player)){
236+
player.world.playerEntities.add(player);
237+
player.world.onEntityAdded(player);
238+
event.setCanceled(true);
239+
}
240+
}
241+
}
242+
243+
@SubscribeEvent(priority = EventPriority.HIGHEST)
244+
public static void PlayerDrop(PlayerDropsEvent event){
202245
EntityPlayer player = event.getEntityPlayer();
203246
if(ArmorUtils.fullEquipped(player)){
247+
player.world.playerEntities.add(player);
248+
player.world.onEntityAdded(player);
204249
event.setCanceled(true);
205250
}
206251
}
@@ -306,4 +351,8 @@ public EnumChargeDisplay showInHud(ItemStack itemStack, EntityLivingBase entityL
306351
public boolean showIngamePopups(ItemStack itemStack, EntityLivingBase entityLivingBase) {
307352
return true;
308353
}
354+
355+
public int getEnergyStored(){
356+
return 50000000;
357+
}
309358
}

src/main/java/huige233/transcend/items/fireimmune.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
import net.minecraft.util.DamageSource;
77
import net.minecraft.world.World;
88
import net.minecraftforge.event.entity.item.ItemExpireEvent;
9+
import net.minecraftforge.fml.common.Mod;
910
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
1011

1112
import javax.annotation.Nonnull;
12-
13+
@Mod.EventBusSubscriber
1314
public class fireimmune extends EntityItem {
1415
public fireimmune(World world, Entity location, ItemStack stack) {
1516
this(world, location.posX, location.posY, location.posZ, stack);

0 commit comments

Comments
 (0)